Как пользователь Linux, я очень привык переходить от слова к слову в vim / nano, используя ALT+ leftили right.
Это не работает должным образом с помощью iTerm, я использую zsh, я попытался добавить;
bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word
Это работает, но только внутри zsh, затем я прокомментировал эти строки и добавил в iTerm сочетание клавиш;
Это работает, но только для ALTleft
Как я могу заставить его работать и для правой стрелки?
Начните с просмотра кода ключа, который ваш терминал отправляет в vim:
В приведенном выше примере я запустил команду sed и нажал Alt + Left.
^[[1;9D
Это сбежавший последовательность отправляется в Vim, поэтому мы можем пользователь , что для нашего отображения.Добавьте к vimrc:
источник
Я прочитал другой пост, описывающий, что для option-left и option right вам необходимо связать их с действиями ^ [b и ^ [f соответственно. То есть вы связываете их с «Отправить escape-последовательность» и связываете клавиши b и f.
http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/
источник
Ни один из этих ответов не работал для меня. В итоге я загрузил виртуальную машину Linux и проверил, что получу
<Alt-ARROW>
.4 escape-последовательности, которые работали для меня, таковы:
<Alt+Up>
:[1;3A
<Alt+Down>
:[1;3B
<Alt+Right>
:[1;3C
<Alt+Left>
:[1;3D
Будьте внимательны при редактировании ключей профиля, а не основных, которые будут переопределены ключами профиля (где Alt + Arrows по умолчанию установлены в шестнадцатеричную последовательность, которая не работает с vim).
источник
В качестве другого возможного решения vim предлагает движение слов самостоятельно, смотрите:
источник