Bash: Как я перемещаю свой курсор налево word-at-a-time?

"Linux Mint Katya 11" является 11-м выпуском распределения Монетного двора, под кодовым именем "Katya".

"Linux Mint LXDE 11 RC" является Предвыпускная версия Монетного двора 11, который использует настольную среду LXDE вместо GNOME.

14
09.07.2012, 09:01
3 ответа

Установить привязку клавиш: сначала необходимо узнать, какие коды клавиши сочетание клавиш Ctrl+Left создает. Просто используйте команду cat выключать любую интерференцию с существующими привязками клавиш и затем вводить сочетание клавиш. В моей системе (Linux) это похоже на это:

$ cat
^[[1;5D

Нажмите Ctrl+d для выхода из кошки. Теперь Вы узнали, что Ctrl-Left выпускает 6 кодов клавиши:

  • Escape (^ [)
  • [
  • 1
  • ;
  • 5
  • D

Теперь можно дать связывать команду:

bind '"\e[1;5D": backward-word'
26
27.01.2020, 19:50
  • 1
    Можно добавить '' "\e [1; 5D": обратное слово '' в $HOME/.inputrc для постоянного эффекта, если Вы хотите. –  llhuii 09.07.2012, 14:57
  • 2
    Можно добавить '' "\e [1; 5D": обратное слово '' в $HOME/.inputrc для постоянного эффекта, если Вы хотите. –  llhuii 09.07.2012, 14:57
  • 3
    @llhuii +1, я забыл упоминать это! –  daniel kullmann 09.07.2012, 16:45
  • 4
    +1 для самого гибкого способа связать произвольные сочетания клавиш где угодно! –  Irfy 18.06.2013, 15:23

Функция удара, которую Вы хотите, backward-word. Можно работать bind -q backward-word получить список ключей, связанных с той функцией. Одна общая привязка является Esc+b

Кроме того, много терминалов поддерживают Ctrl+Left (та же горячая клавиша, которую можно использовать в X для перехода назад словом),

14
27.01.2020, 19:50
  • 1
    Хорошо, это возвращается backward-word can be invoked via "\eb". но как я связываю control+Left вместо Esc+b? Кроме того, один недостаток к Esc+b, который я могу уже видеть, состоит в том, что я должен ослабеть на клавише Esc каждый раз, когда я могу, чтобы возвратиться слово, не быть там лучшим путем? –  nipponese 09.07.2012, 10:13
  • 2
    Существует ли лучший путь? Естественно: set editing-mode vi :) –  jasonwryan 09.07.2012, 11:00
  • 3
    @nipponese "esc b" может также использоваться на клавиатуре в качестве ALT-b. Это, возможно, должно быть конкретно левым или правым высоким звуком в зависимости от Вашей конфигурации, так попробуйте обоих. –  Random832 09.07.2012, 16:00

Ключевой ярлык по умолчанию в Bash для backword-word Высокий звук + b. Тем же результатом может быть achived с Esc + b. Необходимо дать им попытку прежде, чем отредактировать привязки клавиш.

Использовать bind управляйте для редактирования или bind -q [name] получить текущий keybind определенного действия.

8
27.01.2020, 19:50

Теги

Похожие вопросы