
Когда я получаю доступ к одной конкретной машине через 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.