В OSX я могу просто удерживать optionклавишу и нажимать левую клавишу курсора, пока не доберусь до слова, которое нужно отредактировать (или в Vi я могу просто нажать b, но я не смог понять, как это сделать в терминале еще...
В OSX я могу просто удерживать optionклавишу и нажимать левую клавишу курсора, пока не доберусь до слова, которое нужно отредактировать (или в Vi я могу просто нажать b, но я не смог понять, как это сделать в терминале еще...
Ответы:
Чтобы установить привязку клавиш: Сначала вы должны выяснить, какие коды клавиш создает последовательность клавиш Ctrl+ Left. Просто используйте команду, cat
чтобы отключить любое вмешательство в существующие привязки клавиш, а затем введите последовательность клавиш. В моей системе (Linux) это выглядит так:
$ cat
^[[1;5D
Нажмите Ctrl+, dчтобы выйти из кота. Теперь вы узнали, что Ctrl-Left выдает 6 кодов клавиш:
Теперь вы можете выполнить команду bind:
bind '"\e[1;5D": backward-word'
Функция bash, которую вы хотите backward-word
. Вы можете запустить, bind -q backward-word
чтобы получить список ключей, связанных с этой функцией. Один общий обязательный знак Esc+b
Кроме того, многие терминалы поддерживают Ctrl+ Left(та же самая горячая клавиша, которую вы можете использовать в X для перехода назад на слово)
backward-word can be invoked via "\eb".
но как мне связать control + Left вместо Esc + b? Кроме того, один из недостатков Esc + b, который я уже вижу, заключается в том, что мне приходится отпускать клавишу Esc каждый раз, когда я могу вернуться к слову, разве нет лучшего способа?
set editing-mode vi
:)
Клавиша быстрого доступа по умолчанию в Bash для backword-word
это Alt+ b. Тот же результат может быть достигнут с Esc+ b. Вы должны попробовать их, прежде чем редактировать ваши сочетания клавиш.
Используйте bind
команду для редактирования или bind -q [name]
для получения текущей комбинации клавиш определенного действия.
Alt + f