как убедиться, что удаленный хост обрабатывает ctrl-h НЕ как backspace в сеансах Putty?

как убедиться, что удаленный хост обрабатывает ctrl-h НЕ как backspace в сеансах Putty?

У меня проблема с включением ctrl-hярлыка (для tmux и vim) из putty на удаленные хосты linux. Если быть точным, я думаю, ctrl-hчто действительно отправлено. Для подтверждения, когда я набираю ctrl-v, ctrl-hя получаю ^H. (Backspace работает как ^?, так как я уже делаю stty erase ^?.)

Однако в терминале ctrl-hэто по-прежнему интерпретируется как нажатие клавиши backspace.

Кто-нибудь знает об этой проблеме и способах ее устранения, чтобы избавиться ctrl-hот Backspace?

Спасибо.

решение1

Терминальная программа, которую вы используете, определяет код, отправляемый для возврата, обычно ^H или ^? (DEL). Его значение задается в настройках или предпочтениях, обычно на вкладке или раскрывающемся списке с упоминанием клавиатуры, но каждая терминальная программа имеет свой собственный способ его определения.

tmux имеет значение конфигурации, backspace key, где keyможет быть ^?. Обратите внимание, что tmux запускается в вашей терминальной программе.

Когда вы подключаетесь к машине по ssh, переменная окружения TERM устанавливается с тем, что машина считает вашим терминалом, который определяет, какие возможности или коды клавиш использовать для выполнения таких действий, как перемещение вправо или влево или вверх или вниз. Backspace — одна из них, и чтобы увидеть ее значение, введите tput kbs | cat -v. Это все еще может отличаться от вашей настройки tmux.

Смешивать эти настройки — плохая идея, а ^H — это backspace в определении ascii. Принудительное изменение настроек обычно не требуется и может вызвать проблемы у кого-то другого, кто не использует ваши настройки для ssh на той же машине.

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