Answers:
据我所知,Command键修饰符语法(<D-...>
)仅在Mac OS X上的Vim的 GUI模式实例中有效。
在Vim的实例必须基于GUI的,因为大多数终端仿真器(终端,的iTerm,等)不产生Command键组合控制序列,因此仅TTY实例的Vim没有办法知道一个命令组合键是有史以来被按下(终端仿真器从不通过tty接口发送任何东西)。实际上,Terminal将⌘←和⌘→(Command-Left和-Right)绑定到其打开的窗口中循环,因此当您在Terminal的上下文中键入内容时,这些键“已被占用” 。
MacVim(在GUI模式下运行时)确实带有(以及其他Mac风格的击键)<D-Left>
和<D-Right>
(分别与<Home>
(几乎与0
)和<End>
(与$
)相同)的功能映射。需要注意的是,这些默认映射是在其中建立的$VIM/gvimrc
,因此只能从~/.gvimrc
†中正确覆盖它们。
我认为Mac OS X 还有其他基于GUI的Vim版本,但MacVim似乎是唯一的现代版本。
†粗略地说,启动文件处理顺序是:$VIM/vimrc
,~/.vimrc
,$VIM/gvimrc
,~/.gvimrc
。从MacVim的$VIM/gvimrc
地图开始<D-Left>
,您需要将<D-Left>
(如果您确实要覆盖它)的地图放在自己的地图中,~/.gvimrc
以便它具有“最终决定权”。