为什么同时需要vimrc和gvimrc?


38

似乎有两种方法可以存储特定于gvim的首选项:

  1. 保留.vimrcvim .gvimrc文件和gvim特定附加文件。

  2. 保留所有设置,.vimrc并在条件检测中包装gvim特定设置:

    if has('gui_running')
        " gvim specific settings here
    endif
    

考虑到后一种选择的存在,为什么我需要一个.gvimrc文件?


我发现一个有用的特定示例是winpos更改gvim使用的窗口的位置。在此无效(且没有任何意义)~/.vimrc,它必须位于~/.gvimrc
jalanb 2015年

Answers:


29

GUI启动时,将重置一些设置,然后.gvimrc进行处理。

因此,如果您想为这些设置中的任何一个设置非默认值,则需要将其设置为.gvimrc;在GUI模式下进行测试.vimrc将无法进行。

这样的设置之一是t_vb,用于可视铃声的终端代码;实际上,对于GUI模式,所有终端可选项都被重置为默认值(请参阅参考资料:help terminal-options)。

另外,还进行了大量的GUI设置和菜单定制。如果您想对其中的任何一项进行调整,则希望在中进行修改,.gvimrc否则可能不会产生任何影响。

仔细阅读后,您:help gvimrc可以很好地了解在您的货源之间可能需要更改的事情,.vimrc并且.gvimrc您可能需要考虑在后者中进行重新调整。


3
IIRC您可以使用:gui命令(has("gui_running")当然在其中)来强制gui启动序列在任何后续的.vimrc命令之前发生。我的.vimrc使用它来允许根据实际的GUI背景颜色设置默认的背景光/暗度设置。
Random832
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.