Замазка SSH: клавиши CTRL + курсор не работают, пропустите предыдущее / следующее слово


29

Когда я подключаюсь к своему локальному серверу разработки Ubuntu с помощью putty (из моего окна Windows 7) через SSH, следующие комбинации клавиш не работают для перемещения курсора вперед и назад на границах слов:

  • Ctrl+ Left Arrowна курсоре
  • Ctrl+ Right Arrowна курсоре

Курсор перемещается только на один символ за раз. Я использую Bash.


bash использует привязки клавиш Emacs по умолчанию, поэтому Alt+Bи Alt+Fбудет двигаться вперед / назад на одно слово. Вы можете изменить привязки vi, если хотите, и перейти к нимw
phuclv

Ответы:


42

Добавьте эти две строки в ваш ~/.inputrcфайл на конечном компьютере:

"\eOD": backward-word
"\eOC": forward-word

Для того, чтобы убедиться , что они правильные последовательности, в строке типа Bash Ctrl- V Ctrl- LeftArrowи Ctrl- V Ctrl- RightArrow, вы должны увидеть:

^[OD^[OC

Когда вы начинаете новый сеанс, ключи будут доступны, или вы можете нажать Ctrl- xCtrl-, rчтобы перечитать ~/.inputrcфайл текущего сеанса.


Будет ли работать подобный трюк для удаления целых слов?
Casebash

@Casebash: попробуйте bind -P | grep kill-wordпоказать вам существующие привязки клавиш для удаления целых слов. При необходимости вы можете изменить привязки аналогично моему ответу выше.
Приостановлено до дальнейшего уведомления.

Я заметил, что OpenSuSE (12.3) уже связал эти последовательности backward-charи forward-charвместо того, чтобы просто добавлять эти строки, мне пришлось заменить строки, которые уже содержали привязки.
Palswim

Большой! Я работал на Ubuntu 14.04, и моя шпаклевка работает на Windows 7.
Эдвин Ип

Не работает с Putty на win10
ноября

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.