【发布时间】:2011-08-18 15:05:23
【问题描述】:
在 Vim 中,是否可以更改用户 vimrc 文件的默认位置,即从 $HOME/.vimrc 到其他位置?
【问题讨论】:
标签: vim
在 Vim 中,是否可以更改用户 vimrc 文件的默认位置,即从 $HOME/.vimrc 到其他位置?
【问题讨论】:
标签: vim
另一种解决方案可能是为您的首选位置创建一个symlink。我在$HOME/.vim/.vimrc 和symlink 中有我的.vimrc。这样我就可以把它放在一个 git repo 中并备份它。
VIMINIT 变量是我的首选方法。使用-u 标志为vim 起别名的问题是,如果vim 以某种方式打开,而不是通过shell 命令,您的配置将不会被拉入。设置$VIMINIT 不会受到这个缺点的影响。查看this 了解更多信息。
export VIMINIT='source $MYVIMRC'
export MYVIMRC='~/.vim/vimrc' #or any other location you want
请注意,Vim 通常设置 MYVIMRC 变量,尽管我不确定它的确切用途。根据我的测试,以这种方式使用VIMINIT 将导致它不会像通常那样在启动时自动设置。这就是我自己设置的原因。
这也适用于 neovim!
【讨论】:
MYVIMRC - 例如export VIMINIT='source ~/.vim/vimrc' 适用于我的小测试。不过以后可能会咬到我,所以我还是暂时用它吧。
pathogen.vim;根据this 的评论,我也必须set runtimepath。
你必须用命令vim -u ./path/to/your/vimrcfile启动vim
vim -u NONE 是无需任何插件或自定义即可启动 Vim 的好方法。
更多信息请参见:help starting.txt。
【讨论】:
If Vim was started with "-u filename", the file "filename" is used. All following initializations until 4. are skipped. 跳过的步骤包括使用系统范围的vimrc。所以你的问题是yes。
在 Linux 中:
您可以编辑.bashrc 或.zshrc 启动脚本并添加以下行来更改.vimrc 文件的默认位置
export VIMINIT='source $MYVIMRC'
export MYVIMRC='~/.vim/.vimrc' # Note the . (dot) before vimrc. If that is what you have called it.
【讨论】:
我觉得最简单的解决方案是在~/.vimrc 中有一行从其他位置加载 vimrc,即:
source PATH/TO/OTHER/LOCATION/.vimrc
【讨论】:
在 Windows 上,我的主目录中的 _vimrc 包含一行 source c:\path\to\my.vimrc。
我还没有找到移动整个 vimfiles 文件夹的好方法,但这并不重要,因为它是我从其他地方安装的所有东西。也就是说,如果我丢失了它很容易恢复。 (我知道我可以更改runtimepath,但我的问题更多是想出一个“好”的方法来做到这一点。)
更新
六年后,我稍微扩展了我在下面的 cmets 中提到的内容;当我将东西放入“之后”并想保持rtp 干净时,我得到了一些已经稳固了一段时间的东西。今天在我的%USERPROFILE%\_vimrc 中,我确实对事物的实际路径进行了硬编码,并且它在我使用的每台机器上都会发生变化(我基本上在 *nix 上做同样的事情),但这主要是在设置新 PC 时手动复制的。我还有一个版本,可用于在网络上另一台连接的机器上启动 Vim,例如同事的机器,所以我得到了我的配置和所有这些,但要点是:
set runtimepath^=E:/dotfiles/vim
set runtimepath+=E:/dotfiles/vim/after
set runtimepath-=~/vimfiles
set runtimepath-=~/vimfiles/after
runtime vimrc
然后%USERPROFILE%\_gvimrc只有一行:
runtime gvimrc
(vimrc 和 gvimrc 都在 /dotfiles/vim 文件夹中,还有 on Bitbucket。)
【讨论】:
set runtimepath^=d:\path\to\vimfiles 不幸的是硬编码这些文件的位置,但现在至少我可以将它们保存在源代码管理中。事实证明,我使用 Vim 的次数越多,我的设置就越需要自定义。
我编辑了
C:\Program Files\Vim\_vimrc
并更改了运行时路径并获取了我自己的 .vimrc。
我也在 Cygwin 中使用这些设置(并对其进行版本控制)。所以在实践中是这样的(添加在_vimrc文件的底部):
let &runtimepath = 'C:\cygwin\home\cygwinaccount\.vim,' . &runtimepath
source C:\cygwin\home\cygwinaccount\.vimrc
幸福! :)
【讨论】:
我看到两个选项,具体取决于您的需要。
【讨论】: