Почему моя клавиша Backspace остается свободной от стирания?

1097
vicg

Каждые 5-20 минут мне нужно перепечатывать

stty erase ^H 

в консоли, потому что моя клавиша возврата назад случайным образом начинает печатать ^ H вместо удаления символов. Это происходит в Git Bash на Lenovo T410

Любая помощь будет оценена, это довольно раздражает

1
Ты пытался? "stty erase ^ H backspace" уже? Benthon 8 лет назад 0
это не сработало, так как в нем возникла ошибка. Когда я говорю, что набираю 'stty erase ^ H', я имею в виду, что я нажал клавишу Backspace, чтобы сгенерировать значение '^ H', потому что все, что делает Backspace - это печатать vicg 8 лет назад 0
Предположительно какая-то программа, на которой запущен OP, изменяет значение стирания. Thomas Dickey 8 лет назад 0
Дубликат [Bash, как глобально исправить ^ H и ^? проблемы с реверсом] (http://superuser.com/questions/641095/bash-how-to-globally-fix-h-and-backspace-problems)? harrymc 8 лет назад 0

3 ответа на вопрос

1
Steven

Добавьте следующую строку в ваш ~/.inputrcфайл (и, конечно, перезапустите терминал):

"\e[3~": delete-char 
0

Некоторые консольные утилиты не интерпретируют символ возврата (^ H) как возврат и требуют вместо этого удаления.

В этом случае включение опции «Возврат отправляет удаление» в подкатегории «Сопоставленные ключи» в «Эмуляция» и «Терминал» в «Параметры сеанса» должно позволить клавише «Возврат» работать правильно, не влияя на то, как командная оболочка работает.

0
assylias

Добавление этой строки .bash_profile(или запуск из терминала) решило проблему для меня без необходимости изменения каких-либо других параметров:

export TERM=xterm