第二个用户的用途是什么以及如何使用它?

第二个用户的用途是什么以及如何使用它?

我正在使用 MacVim:

:version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 10 2013 17:49:20)
MacOS X (unix) version

我在 vim 中执行了 :version(检查我安装了哪些补丁)并注意到输出中有以下两行部分:

 user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"

第二个用户的用途是什么以及如何使用它?

我发现并阅读了这个问题:https://apple.stackexchange.com/q/34996/10733

但答案显示了如何将 ~/.vim/vimrc 集成到 .vimrc 中。

我还在谷歌中进行了以下搜索,但没有找到任何有趣的东西: vim 中的第二个用户和 ~/.vim/vimrc, 和如何使用 ~/.vim/vimrc

答案1

“第二用户 vimrc 文件”是最近添加到 Vim 中的,可能出现在 Vim 7.3 的后期版本中,但肯定出现在 Vim 7.4 中。

一些用户要求将他们的个人 vimrc 文件放在第二个位置,以便他们可以将所有 Vim 配置文件保存在一个目录中:Unix 上的 ~/.vim 或 Windows 上的 ~/vimfiles。

正如其中所说:help vimrc

按照上面指定的顺序搜索文件,并且只读取找到的第一个文件。

因此,如果您同时拥有 ~/.vimrc 和 ~/.vim/vimrc 文件,则只会使用 ~/.vimrc。大多数用户会使用其中一个,但不会同时使用两者。

答案2

我查看了处理输出以及获取文件的:version各个位置的代码。.vimrc

根据所使用的操作系统,初始化文件(例如.vimrc)会在多个位置进行搜索。对于某些操作系统(例如 Amiga 以及很可能还有 Mac),会检查多个目录;最多可能有四个不同的位置,这反过来会给您:

  • user vimrc file
  • 2nd user vimrc file
  • 3rd user vimrc file
  • 4th user vimrc file

(对于那些感兴趣的人来说,有趣的部分是版本.c大约第 1184 行。)

据我从其余代码中理解的那样,每个文件都是按照上述顺序获取的,只要其中一个路径不存在就会停止(参见主程序大约第 2993 行)。

因此,在您的特定情况下,vim 将首先尝试读取$HOME/.vimrc。 如果存在,则获取它,然后 vim 查找~/.vim/vimrc。 如果存在,则也会读取它。

您可以通过在任一文件中放入一些会产生一些输出的命令来验证这一点,例如echo "something"放入任一 vimrc 文件中。

相关内容