【问题标题】:Do I have to set $VIMRUNTIME if I have set $VIM?如果我设置了 $VIM,我是否必须设置 $VIMRUNTIME?
【发布时间】:2014-04-04 12:12:52
【问题描述】:

我已经在 Windows 上安装了 gvim。

为了让 gvim 找到我的 .vimrc 文件,我设置了 $VIM (%VIM%) 环境变量,指向这个 .vimrc 文件所在的目录。

我没有设置$VIMRUNTIME,因为:help $vimruntime说

You don't normally set $VIMRUNTIME yourself, but let Vim figure it out.

当我启动 gvim 时,它会按预期处理我的 .vimrc 文件,直到带有命令 sy on 的行。此命令尝试加载语法文件,但无法加载。

我怀疑原因是这样的:由于我没有设置 $VIMRUNTIME,vim 自动将它设置为 $VIM 的值。但是在$VIM 下,没有syntax/syntax.vim 文件。但是,此语法文件位于 c:\vim\vim73\syntax 下。

所以,如果我将 $VIMRUNTIME 专门设置为 c:\vim\vim73,一切似乎都可以正常工作。

现在,为什么帮助文件说我不需要设置 $VIMRUNTIME 如果显然我必须这样做。

【问题讨论】:

    标签: windows vim


    【解决方案1】:

    通常,您将 _vimrc、_gvimrc 和包含自定义文件的目录 (vimfiles) 放在 $HOME 目录中。

    Vim 默认在那里搜索。

    更新您的 Vim 安装时不会覆盖位于那里的文件,因此这样做通常是个好主意,您不必弄乱任何变量。如果您有任何自定义插件、语法文件等,请将它们放在vimfiles/plugins、vimfiles/syntax 等下方。

    此外,您可以使用 :version 询问 Vim 它在哪里搜索 vimrc:

       system vimrc file: "$VIM\vimrc"
         user vimrc file: "$HOME\_vimrc"
     2nd user vimrc file: "$HOME\vimfiles\vimrc"
     3rd user vimrc file: "$VIM\_vimrc"
          user exrc file: "$HOME\_exrc"
      2nd user exrc file: "$VIM\_exrc"
      system gvimrc file: "$VIM\gvimrc"
        user gvimrc file: "$HOME\_gvimrc"
    2nd user gvimrc file: "$HOME\vimfiles\gvimrc"
    3rd user gvimrc file: "$VIM\_gvimrc"
        system menu file: "$VIMRUNTIME\menu.vim"
    

    如此处所述:How to locate the vimrc file used by vim editor?

    【讨论】:

    • 所以,如果我理解正确的话,only 的地方有 vimfiles/ 和 vimrc 而不会弄乱 $VIM /$VIMRUNTIME 在 $HOME 下?
    • @RenéNyffenegger:是的。唯一安全的地方是$HOME。
    【解决方案2】:

    我宁愿设置$HOME 环境变量,让Vim 获取用户的.vimrc(以及.vim/... 下的潜在插件)。 $VIM 的位置应该代表 Vim 安装基目录(包括运行时和支持文件)。

    【讨论】:

    • 这当然是可能的,但似乎有点矫枉过正,因为我在其他应用程序中也需要 $HOME 变量,我不想仅仅因为我想要 vim 而弄乱这些应用程序找到我的 .vimrc。除此之外,我想在非标准位置安装一些脚本和个人插件,以便我可以将它们置于版本控制之下,并且在重新安装 vim 时不会覆盖它们。
    猜你喜欢
    • 2019-11-15
    • 1970-01-01
    • 2013-02-13
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2018-02-06
    相关资源
    最近更新 更多