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