Por que o comportamento do Backspace muda no vim com o SSH?

7

Quando estou acessando uma máquina em particular através do ssh, o comportamento do Backspace no vim muda. Em vez de apagar chars, eu tenho um ^? .

O problema é que esta máquina atua como gateway e este problema é propagado quando estou acessando qualquer máquina por trás deste gateway (quando estou ssh-ing qualquer uma dessas máquinas dentro do domínio - sem passar pelo domínio-, i não tem esse problema) ...

Isso não é grande coisa, mas é muito chato.

Alguma ideia?

    
por LB40 28.08.2009 / 17:00

1 resposta

8

Geralmente é uma incompatibilidade entre o que está configurado no seu shell e o que está configurado no seu emulador de terminal.

Alguns usam backspace (0x08), alguns usam DEL (0x7f). Se, a partir da sua sessão de terminal, você executar

stty -a

você verá uma linha como:

intr = ^C; quit = ^\; erase = ^?; kill = ^U; ...

Esse apagamento é o caractere DEL. Você precisa configurar seu SSH para transmitir esse caractere ou fazer um:

stty erase '^H'

para alterar o shell.

Eu sei que Putty, por exemplo, pode mudar o personagem transmitido quando você aperta a tecla de retrocesso. Eu acho que ele está enterrado na seção do terminal em algum lugar (pelo menos em v 0,58), mas eu não tenho o Windows à mão para verificar isso.

No entanto, não é realmente relacionado a programação, então você pode achar que isso é transferido para superuser.com.

    
por 28.08.2009 / 17:08

Tags