10

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

但我当然还是想使用 GUI,那么有什么方法可以禁用这些,而不停止使用 MacVim GUI?

谢谢你的帮助。顺便说一句,我进行了谷歌搜索,但无法找到答案。

编辑:
按照@ChrisJohnsen 的建议,我已经尝试了以下方法但没有成功:

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

编辑 2:
我将错误转移到另一个问题:当我尝试在命令行中运行 vim 时出现 Python 错误

4

2 回答 2

16

没有简单的方法可以禁用所有预定义的 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

于 2012-11-18T04:09:04.333 回答
1

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

FWIW,当我从 TextMate 切换时,我也过了一段时间发现这些原生快捷方式是我学习 Vim 的障碍。我的解决方案是将精力集中在普通的 Vim 上。在终端中使用一周后,您应该能够完全忽略这些快捷方式。

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

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

  2. 再次在终端中,$ vim先用于简单任务,然后再用于更复杂的任务。一开始会有可预测的生产力冲击,但只会持续几天/几周。

  3. 一旦你达到了之前的生产力水平,你就可以开始全职使用 Vim。那时,使用 MacVim 或 GVim 或 plain$ vim 应该没有任何区别。

不过度依赖插件、其他人的 vimrc 或 janus 或 spf13 等“发行版”的奖励积分......</p>

于 2012-11-18T07:58:30.830 回答