我在尝试映射 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
但我无法让它工作。我尝试了所有方法,在配置文件设置中将选项键设置为“Normal”、“Meta”和“+Esc”。我试过了,<M-Right>
但<T-Right>
这些都不起作用。superuser 和 stackoverflow 上有帖子,但他们使用的是旧版本的 iTerm2 (v0.x)。
我唯一能够让它工作的东西是<T-up>
和<T-down>
,或者当我只使用 Macvim 时。
我在 Macbook Pro 上使用 iTerm2 v1.0.0.20120203 和 Mac OS X 10.7.5。
答案1
由于 Mac OS X 使用 Option 键插入字符,因此常规<A-[key]>
映射不起作用。因此,:h i_CTRL-V
您需要使用 Option 键。例如,您可以这样输入右箭头映射:
map
controlVoption→<C-w>l
结果如下:
map ^[f <C-w>l
但请注意,您无法复制和粘贴上述内容,因为^[
在 vim 中这是一个字符,但这里用两个字符表示。但是,大多数 vim 用户会建议您不要使用箭头键(或任何其他键)。我改用map <C-l> <C-w>l
(对于 h、j、k 也是如此),因为它可以让我的手放在键盘上。
答案2
看我的这个答案关于类似问题。我的建议是使用:h mapleader
。