Шпаклівка SSH: CTRL + Клавіші курсору не працюють Перехід до попереднього / наступного слова


29

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

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

Курсор переміщує лише один символ за раз. Я використовую 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
nZeus

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.