iTerm2 vim 无法映射 alt 键

Edd*_*ddy 9 vim key-binding osx-lion iterm2 macos

我在 iTerm2 中尝试在 vim 上映射 alt 键绑定时遇到问题。我想映射用于在缓冲区之间切换的快捷方式,如下所示:

map <A-Right> <C-w>l
map <A-Left> <C-w>h
map <A-Down> <C-w>j
map <A-Up> <C-w>k
Run Code Online (Sandbox Code Playgroud)

但我无法让它工作。我已经尝试了所有方法,在配置文件设置中将选项键设置为“Normal”、“Meta”和“+Esc”。我试过了<M-Right><T-Right>但那些也不起作用。有关于超级用户和 stackoverflow 的帖子,但他们使用旧版本的 iTerm2 (v0.x)。

我设法开始工作的唯一事情是<T-up>and <T-down>,或者当我只使用 Macvim 时。

我在 Macbook Pro 上使用 iTerm2 v1.0.0.20120203 和 Mac OS X 10.7.5。

Bri*_*hon 5

由于 Mac OS X 使用选项键插入字符,因此常规<A-[key]>映射将不起作用。从而:h i_CTRL-V成为你的朋友。例如,您的右箭头映射可以这样输入:

mapcontrolVoption<C-w>l

这将导致如下所示:

map ^[f <C-w>l
Run Code Online (Sandbox Code Playgroud)

但是请注意,您不能复制和粘贴上面的内容,就像^[vim 中的一个字符一样,但这里用两个字符表示。但是,大多数 vim 用户会建议您不要为此(或任何事情)使用箭头键。我使用map <C-l> <C-w>l(同样用于 h、j、k),因为它让我的手一直放在键盘上。


rom*_*inl 1

请参阅我在类似问题上的回答。我的建议是使用:h mapleader.