Исходя из формулировки вашего вопроса, я предполагаю, что вы используете cygwin для доступа к машине Solaris.
stty -a
отображает все текущие настройки терминала. Я не буду вдаваться в подробности. Но вы можете прочитать, что каждый из них делает, на страницах руководства .
Но особенно обратите внимание на вашу проблему: erase = ^ ?;
. ^?
- это управляющий символ ASCII для DEL
(удалить). Вам нужен управляющий символ для BS
(backspace).
В командной строке вы можете ввести следующее:
stty erase ^ H
Обратите внимание, что ^ H
является управляющим символом, а не ^ H . Итак, я считаю, что вы должны набрать это следующим образом:
Ctrl + v backspace
И это должно привести к тому, что ^ H
будет напечатано на экран.
Это должно изменить поведение backspace на то, что вы хотите. Но этого хватит только на текущую сессию.
Согласно в этом блоге Oracle , вы можете навсегда изменить конфигурацию, открыв /kernel/drv/options.conf
и найдя следующую строку:
ttymodes = " 2502: 1805: bd: 8a3b: 3: 1c: 7f: 15: 4: 0: 0: 0: 11: 13: 1a: 19: 12: f: 17: 16 ";
Измените 7f
на 8
для постоянного переназначения backspace с DEL
на BS
. Для этого потребуется перезагрузка.
Кажется, моя клавиатура умерла!.
только что установил Windows как двойную загрузку, и он делает то же самое.
поэтому позвольте мне просто закрыть Q