vim backspace não está funcionando normalmente

0

A tecla Backspace não está funcionando como esperado em vim e também em vi . Ele está funcionando como a tecla Delete , e a tecla Delete está apagando o caractere, mas acontece algo estranho. Mas, por enquanto, estou tentando obter a chave Backspace funcionando.

Eu tentei poucas soluções pesquisando e pesquisando unix.se, mas nenhuma ajudou. Eu tentei adicionar

:map~ ^? ^H

para o arquivo .exrc . Também tentei adicionar a seguinte função de este link , mapeando depois a seqüência de teclas correta como dada, mas mesmo isso não ajudou resolver o problema.

func Backspace()
  if col('.') == 1
    if line('.')  != 1
      return  "\<ESC>kA\<Del>"
    else
      return ""
    endif
  else
    return "\<Left>\<Del>"
  endif
endfunc

vim detalhes

VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:09:20)

Máquina

$ cat /etc/*release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

Nota:

  1. Eu me conecto a uma máquina unix remota usando o gerenciador de conexões de massa.
  2. Shift + Backspace funciona como normal Backspace chave funciona, por exemplo, apaga um caractere à esquerda.
por mtk 02.01.2013 / 12:13

3 respostas

0

Além do comentário de Gert sobre PuTTY, o terceiro post em este tópico também tem uma nota sobre as configurações do PuTTY:

Under the Terminal -> Keyboard section, there is block labelled "change the sequences sent by:" - the 1st one is Backspace. It should be either Control-H or Control-?. Change it to the opposite of what is currently set and it should work.

    
por 02.01.2013 / 14:03
1

Já tentou definir o modo de retrocesso? Dê uma olhada em :help bs e tente o seguinte:

set bs=indent,eol,start

Há também uma observação nessa seção de ajuda sobre o uso de :fixdel "se sua chave < BS > ou < Del > não fizer o que você deseja".

Você também pode precisar definir "não compatível" (WRT para vi), então :set nocp .

    
por 02.01.2013 / 13:48
0

resposta do goldilocks ajudou, e depois de definir a configuração como ele mostrou, eu segui os seguintes passos que resolveram o problema problema -

Definindo o TERM para xterm por

$ TERM=xterm; export TERM

E depois adicionando o seguinte ao arquivo .bashrc .

stty erase ^H
    
por 08.01.2013 / 09:11