禁用MacVim键盘快捷键

时间:2012-11-18 02:05:38

标签: keyboard-shortcuts vim macvim

有没有办法在MacVim中禁用键盘快捷键?我的意思是像Cmd + s这样的快捷方式,我想说服自己使用像:w这样的东西,但如果我可以使用Cmd + s保存文件,我就不能这样做,你得到我吗?

但我当然还想使用GUI,那么有没有办法禁用这些,而不停止使用MacVim GUI?

感谢您的帮助。顺便说一下,我进行了Google搜索,但无法找到答案。

修改
按照@ChrisJohnsen的建议,我已经尝试了以下但没有成功:

if has('gui_running')
    macmenu File.Save key=<nop>
    macmenu File.Save\ As\.\.\. key=<nop>
endif

编辑2:
我将错误移到了另一个问题:When I try to run vim in command line I get Python errors

2 个答案:

答案 0 :(得分:13)

没有简单的方法可以禁用所有预定义的Mac风格的键盘快捷键,但您绝对可以更改/禁用其中任何一种。重要的命令是:macmenu(见:help :macmenu);它允许您设置任何Vim菜单项的Mac特定属性(主要是Mac特定的键盘快捷键和Mac特定的操作(例如打开/保存对话框,窗口操作等)。)

macmenu File.Save key=<nop>
macmenu File.Save\ All key=<nop>
macmenu File.Save\ As\.\.\. key=<nop>

问题是:macmenu命令只有在.gvimrc文件中才有效。

如果您执行:e $VIMRUNTIME/menu.vim并搜索macm,您将找到预定义快捷方式和操作的列表。将所需的行复制到.gvimrc,然后将key=<whatever>替换为key=<nop>。如果您需要if has("gui_macvim")在多个平台上工作,也可以将它们包装在endif / .gvimrc中。

答案 1 :(得分:2)

MacVim只比普通Vim有一个“优势”:它支持原生Mac OS X快捷方式。如果你不想要那些快捷方式,你可以简单地使用普通的Vim。

FWIW,当我从TextMate I切换时,也发现这些原生快捷方式在我学习Vim的过程中遇到了障碍。我的解决方案是将我的工作重点放在普通的Vim上。在终端中呆了一个星期之后,您应该能够完全忽视这些捷径。

我建议你暂停一下,考虑以更合适的顺序做事:

  1. 在终端中,根据需要多次$ vimtutor

  2. 再次在终端中,首先使用$ vim执行简单任务,然后使用更复杂的任务。一开始就有可预测的生产力,但它只能持续几天/周。

  3. 一旦达到以前的生产力水平,您就可以开始全职飞行Vim。此时,使用MacVim或GVim或普通$ vim 应该没有任何区别。

  4. 奖励积分不依赖于插件,其他人的vimrcs或“发行版”,如janus或spf13 ......