A edição de /etc/X11/app-defaults/XTerm
seria uma possibilidade, mas se você não tiver o arquivo, talvez esteja usando um terminal diferente.
O problema não é a configuração que você está usando em vim
, mas a descrição do terminal e o terminal não concordam com o que "backspace" envia.
Normalmente, "retrocesso" é o mesmo que o valor stty erase
, que você pode ver usando stty -a
, por exemplo,
~ (101) stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
Se stty
mostrar ^H
e o terminal realmente enviar ^?
(ASCII DEL ou 127), então vim
provavelmente ficará confuso.
No arquivo de ajuda do vim, ele afirma que se você colocar
:fixdel
no seu .vimrc
, é possível Fazer a coisa certa :
:fix[del] Set the value of 't_kD':
't_kb' is 't_kD' becomes ~
CTRL-? CTRL-H
not CTRL-? CTRL-?
(CTRL-? is 0177 octal, 0x7f hex) {not in Vi}
If your delete key terminal code is wrong, but the
code for backspace is alright, you can put this in
your .vimrc:
:fixdel
This works no matter what the actual code for
backspace is.