Перемещение слова вперед в z shell

В zshell, как двигаться вперед, я могу установить -o vi и использовать vi-формат. Есть ли способ двигаться вперед в zshell словом

Ответ 1

Виджет ZLE для перемещения вперед одним словом forward-word. Поэтому вы можете использовать bindkey для привязки этого виджета к любому ключу, который вы хотите.

Например,

$> bindkey ^O forward-word

позволит вам двигаться вперед одним словом при нажатии Ctrl-O. Обратите внимание, что ^O на самом деле является цитируемой вставкой Control, за которой следует O.

Ответ 2

Ваша команда командной строки zsh работает либо как emacs, либо как vi. Если он работает как vi, поместите его в командный режим (esc) и введите w. Если он работает как emacs, используйте M-f.

Дополнительная информация доступна в man zshzle.

Ответ 3

Как и другие ответы, но для Zsh на iTerm мне понадобилось некоторое время, чтобы найти это:

Если вы используете Zsh, например Oh My Zsh, в iTerm, перейдите в: Настройки > Профили > Подменю Keys

Нажмите + знак

Добавьте свою комбинацию ярлыков, выберите "Send Escape Sequence"

входы слева и справа внизу.

слева:

[1;5D

право:

[1;5C

Ответ 4

Если вы используете iTerm2 в OSX, вы можете использовать предварительную настройку редактирования естественного текста.

iTerm Keys Preferences

Это поддерживает эти ключевые комбо (которые очень похожи на другие редакторы):

  • alt/option + left = перемещение влево одно слово
  • alt/option + right = move right one word

Ответ 5

  • forward word [Meta] + [f]
  • назад слово [Мета] + [b]

В macOS, [опция] + [→] и [опция] + [←] тоже работают.