89

В стандартной установке Cygwin, используя CTRL-LEFTARROW или CTRL-RIGHTARROW, просто печатается 5C или 5D вместо пропуска слова за раз, как ожидалось.

Клавиши Home/End работают должным образом, поэтому переназначение должно быть возможным.

5 ответов5

124

Нашел решение, разместив его здесь для потомков.

Добавьте следующие строки в ~/.inputrc (C:\cygwin\home\<username>\.inputrc):

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

Когда вы закончите, вы можете нажать C-x C-r чтобы перечитать файл .inputrc для текущего сеанса.

На что следует обратить внимание, если вам нужны другие подобные настройки: используйте 5A и 5B для стрелок вверх и вниз и 2x для сдвинутых версий.

"Официальные" сопоставления клавиш описаны в Справочном руководстве Bash, но для быстрого поиска соответствия клавиш в bash:

  1. нажмите Ctrl+V
  2. введите интересующую вас последовательность клавиш (например, Alt+). Это напечатало бы ^[[1;3C
  3. удалите начальный ^[ и замените его на \e чтобы сделать \e[1;3C
  4. поместите это значение в ваш файл .inputrc .
14

Вы можете перезагрузить файл .inputrc через:

bind -f ~/.inputrc

Источник

7

Если вам нужно что-то, что будет работать без пользовательских настроек среды, например, при работе с общей учетной записью на сервере или просто для ограничения объема используемой пользовательской конфигурации, Bash имеет встроенные средства для этого, которые работают в Cygwin.

А именно, Alt+f, чтобы двигаться вперед, и Alt+b, чтобы двигаться назад.

http://www.gnu.org/software/bash/manual/html_node/Commands-For-Moving.html

0

При использовании rxvt с cygwin я обнаружил, что решение по этой ссылке работает для меня: control_arrow_keys_in_rxvt.

Добавьте следующие строки в ~/.inputrc :

"\eOd": backward-word
"\eOc": forward-word
0

Это решение также работает в консолях msys2 :

"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left 

Просто поместите эти комбинации клавиш в файл .inputrc .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .