O VIM substitui o backspace por ^?

1

Sempre que eu digitar backspace no VIM, o editor insere ^? . Eu editei .vimrc para ter set backspace=indent,eol,start e não funcionou. set backspace=2 também não funcionou.

Eu li que você precisa editar o arquivo XTerm dentro de / etc / X11 / ... mas a pasta e o arquivo não existem.

Esta não é uma duplicata porque tentei soluções sugeridas anteriormente e não funcionou.

    
por PanthersFan92 30.08.2016 / 15:37

1 resposta

1

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.   
    
por 31.08.2016 / 00:01