I'm on Solaris 10 and by default vi version SVR4.0, Solaris 2.5.0 is installed.
The system was set up so that when I ssh to it Control+H does backspace, and backspace outputs ^?
I added stty erase '^?' into .profile so that in the terminal the backspace key works correctly now. However when I use vi it still is outputting the ^? character.
Normally I would type :set nocompatible to fix this but it gives me
compatible: No such option - 'set all' gives all option values
set all gives me
noautoindent nomodelines noshowmode
autoprint nonumber noslowopen
noautowrite nonovice tabstop=8
nobeautify nooptimize taglength=0
directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpptags=tags /usr/lib/tags
noedcompatible prompt tagstack
noerrorbells noreadonly term=xterm
noexrc redraw noterse
flash remap timeout
hardtabs=8 report=5 ttytype=xterm
noignorecase scroll=33 warn
nolisp sections=NHSHH HUuhsh+c window=66
nolist shell=/bin/ksh wrapscan
magic shiftwidth=8 wrapmargin=0
mesg noshowmatch nowriteany
I'm guessing that this version of vi is too old and that I need either a newer version or vim if I want to use set nocompatible, but I'm wondering is there another way to get vi to use backspace for backspacing without having to load vim?

dtterm,xtermc,vt320and all the other ones i could find.terminfohas a man page but the command is not found. backspace works fine at the command prompt, just not invi– cwd Oct 24 '11 at 18:49:map! ^? ^Hin your .exrc file. note that^?is not simply a ^ (shift+6) and a question mark, it's character created by pressing control+v control+shift+backspace, and ^H is created by pressing control+v control+h. – Tim Kennedy Oct 25 '11 at 5:07