Как переназначить escape-последовательности в ITerm2 (Mac OSX)?

Я использую ITerm2 на Mac OSX и пытаюсь заставить работать горячую клавишу "пропустить слова" (alt left, alt right). На ITerm2 это делается путем сопоставления ⌥ ← to b, а также ⌥ → to f (находится здесь: https://coderwall.com/p/h6yfda/use-and-to-jump-forwards-backwards-words-in-iterm-2-on-os-x). Тем не менее, кажется, что функция пропуска слов VIM отвечает не на b а также f escape-последовательности, но для [1;5C а также [1;5D (найдено здесь: /questions/41963992/kak-zastavit-cmd-levyij-pravyij-rabotat-s-iterm2-i-vim-ne-trebuya-izmenenijvimrc/41964016#41964016).

Похоже, мне нужен другой набор горячих клавиш для пропуска слов в VIM и другой набор в Iterm2. Что я хотел бы сделать, это переназначить escape-последовательности b а также f в [1;5C а также [1;5D в ITerm2 для некоторой согласованности. Я знаю, что это было сделано на XTerm, добавив это в.Xresources: URxvt*keysym.Meta-f: \033[1;5C URxvt*keysym.Meta-b: \033[1;5D

Есть ли эквивалент в ITerm2?

Спасибо

1 ответ

Решение

Первая упомянутая страница ( используйте ⌥ ← и ⌥→ для перехода вперед / назад по словам в iTerm 2 на OS X) неясна в отношении "командной строки". Учитывая, что речь идет об OSX, автор, скорее всего, ссылается на bash и создание некоторых ключей отправляет полезные привязки для этой оболочки. bash имеет предопределенные привязки клавиш, которые обрабатывают escape-символ как мета- модификатор.

На другой странице ( Как заставить Cmd влево / вправо работать с iTerm2 и Vim (без необходимости изменения.vimrc)?) Решается аналогичная проблема с vim, Но vim относится к escape-персонажу специально. Таким образом, используемая привязка представляет собой escape-последовательность (которая не обязательно доступна повсеместно - но если она работает для вас, не проблема).

поскольку iTerm2 на самом деле не знает, какую программу вы используете, один из подходов к этому будет использовать escape-последовательности, которые iTerm2 отправляет (и vim принимает) в вашем bash Файл.inputrc.

Вот несколько ссылок, обсуждающих это решение (это не новая проблема):

5 в escape-последовательности, кстати, для модификатора управления, документированного в XTerm Control Sequence.

Другие вопросы по тегам