有没有办法在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
答案 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上。在终端中呆了一个星期之后,您应该能够完全忽视这些捷径。
我建议你暂停一下,考虑以更合适的顺序做事:
在终端中,根据需要多次$ vimtutor
。
再次在终端中,首先使用$ vim
执行简单任务,然后使用更复杂的任务。一开始就有可预测的生产力,但它只能持续几天/周。
一旦达到以前的生产力水平,您就可以开始全职飞行Vim。此时,使用MacVim或GVim或普通$ vim
应该没有任何区别。
奖励积分不依赖于插件,其他人的vimrcs或“发行版”,如janus或spf13 ......