MacVim:重新映射命令键组合,例如<df>


17

我可以<d-1>在MacVim中重新映射未使用的组合,例如(Cmd + 1),但是有许多组合,例如<d-f><d-o>或者<d-b>已经绑定到MacVim菜单项。如果我尝试在.vimrc中重新映射它们,则不会发生任何变化。

有什么办法可以在MacVim中重新映射这些组合,或阻止MacVim将它们分配给菜单项,以便它们正确传递到Vim核心?

Answers:


21

找到了:Command-T建议使用以下代码段:

if has("gui_macvim")
  macmenu &File.New\ Tab key=<nop>
  map <D-t> :CommandT<CR>
endif

因此,基本上,您可以取消映射各自的菜单项,然后可以自由映射要映射的快捷方式。(我不确定“&”号在做什么;有或没有它都可以使用。)

必须放在〜/ .gvimrc中,而不是〜/ .vimrc中!(显然〜/ .vimrc读得太早了,因此,如果将(un)映射放到那里,它们将会被破坏。)


3
我在当前版本的MacVim(7.3)上尝试了此操作,但此操作无效。我最后进入$ VIMRUNTIME / menu.vim,搜索<D-&& 0在周围的if语句的末尾放置a 。然后,将内容复制到.gvimrc并替换<D-[^>]*><nop>
dash-tom-bang

1
@ dash-torn-bang嗯,我上面的代码在Lion上使用7.3快照62似乎仍然可以正常工作。我不必编辑MacVim的menu.vim。我不确定为什么它对我
有用,

1
我能够在没有&符的情况下正常工作:macmenu File.Print key=<nop>
romaninsh 2012年

谢谢!为我工作。尽管稍作修改:macmenu File.Close key=<nop>
HalilÖzgür19年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.