Почему поведение Backspace в vim меняется при использовании SSH?

Почему поведение Backspace в vim меняется при использовании SSH?

Когда я получаю доступ к одной конкретной машине через ssh, поведение Backspace в vim меняется. Вместо удаления символов у меня есть ^? .

Проблема в том, что эта машина действует как шлюз, и эта проблема распространяется, когда я обращаюсь к любой машине за этим шлюзом (когда я подключаюсь по ssh к любой из этих машин внутри домена, не проходя через домен, у меня этой проблемы нет)...

Это не критично, но очень раздражает.

Есть идеи ?

решение1

Обычно это несоответствие между настройками вашей оболочки и настройками эмулятора терминала.

Некоторые используют backspace (0x08), некоторые используют DEL (0x7f). Если из вашего терминального сеанса вы запустите

stty -a

вы увидите такую ​​строку:

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

Этот стирающий символ — DEL. Вам нужно либо настроить SSH для передачи этого символа, либо сделать:

stty erase '^H'

для смены оболочки.

Я знаю, что Putty, например, может изменить символ, передаваемый при нажатии клавиши backspace. Я думаю, что это зарыто где-то в разделе терминала (по крайней мере в версии 0.58), но у меня нет под рукой Windows, чтобы проверить.

Однако, это не такДействительносвязанный с программированием, поэтому вы можете обнаружить, что он перенесен на superuser.com.

Связанный контент