如何在 ITerm2 (Mac OSX) 中重新映射转义序列?

How to remap escape sequences in ITerm2 (Mac OSX)?

我在 Mac OSX 上使用 ITerm2,我正在尝试使 "skip words" 热键(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). However, it seems like VIM's skip words function responds not to the b and f escape sequences, but to [1;5C and [1;5D (found here: )来完成的。

所以我似乎需要一组不同的热键来跳过 VIM 上的单词,以及另一组 Iterm2 上的热键。我想做的是将转义序列 bf 重新映射到 ITerm2 中的 [1;5C[1;5D,以保持一致性。我知道它是通过将其添加到 .Xresources 在 XTerm 上完成的: URxvt*keysym.Meta-f: 3[1;5C URxvt*keysym.Meta-b: 3[1;5D

ITerm2 中是否有等效项?

谢谢

提到的第一页 (Use ⌥ ← and ⌥→ to jump forwards / backwards words in iTerm 2, on OS X) 对 "command line" 含糊不清。鉴于它正在谈论 OSX,作者很可能指的是 bash,并使一些键为 shell 发送有用的绑定。 bash 具有 预定义 键绑定,将转义字符视为 meta 修饰符。

另一页 (How to get Cmd-left/right working with iTerm2 and Vim (without requiring .vimrc changes)?) 正在解决与 vim 类似的问题。但是 vim 特殊对待转义字符。所以那里使用的绑定有一个转义序列(不一定是普遍可用的——但如果它对你有用,那不是问题)。

由于 iTerm2 并不真正知道您正在使用哪个程序,因此一种方法是使用 iTerm2 发送(并且 vim 接受)在您的bash“.inputrc”文件。

以下是一些讨论该解决方案的链接(这不是一个新问题):

转义序列中的 5 顺便说一句,用于 control 修饰符,记录在 XTerm Control Sequences.