【问题标题】:Change default location of vimrc更改 vimrc 的默认位置
【发布时间】:2011-08-18 15:05:23
【问题描述】:

在 Vim 中,是否可以更改用户 vimrc 文件的默认位置,即从 $HOME/.vimrc 到其他位置?

【问题讨论】:

    标签: vim


    【解决方案1】:

    另一种解决方案可能是为您的首选位置创建一个symlink。我在$HOME/.vim/.vimrcsymlink 中有我的.vimrc。这样我就可以把它放在一个 git repo 中并备份它。

    【讨论】:

    • 哦,在一个可以轻松访问符号链接的平台上工作会付出什么代价。 :)
    • @dash-tom-bang 这不是常识,但每个主要操作系统都支持它,包括 Windows(从 Vista 开始)。试试mklink 实用程序。
    • 另外,我刚刚查了一下,也可以使用一个名为fsutil 的实用程序来进行预览。有道理,因为 NTFS 可能从一开始就没有更新。
    • win: mklink /j /virtual/folder/_vimrc /real/_vimrc
    【解决方案2】:

    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!

    【讨论】:

    • 这在 Ubuntu 和 Cygwin 上都适用于我。我也看不到这里需要MYVIMRC - 例如export VIMINIT='source ~/.vim/vimrc' 适用于我的小测试。不过以后可能会咬到我,所以我还是暂时用它吧。
    • 这还不足以自动加载我的pathogen.vim;根据this 的评论,我也必须set runtimepath
    【解决方案3】:

    你必须用命令vim -u ./path/to/your/vimrcfile启动vim

    vim -u NONE 是无需任何插件或自定义即可启动 Vim 的好方法。

    更多信息请参见:help starting.txt

    【讨论】:

    • -u 选项是否意味着 vim 将只从这些自定义开始,所有来自 /etc 的全局自定义都将被跳过?
    • From starting.txt :If Vim was started with "-u filename", the file "filename" is used. All following initializations until 4. are skipped. 跳过的步骤包括使用系统范围的vimrc。所以你的问题是yes
    【解决方案4】:

    在 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.
    

    【讨论】:

      【解决方案5】:

      我觉得最简单的解决方案是在~/.vimrc 中有一行从其他位置加载 vimrc,即:

      source PATH/TO/OTHER/LOCATION/.vimrc
      

      【讨论】:

        【解决方案6】:

        在 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
        

        vimrcgvimrc 都在 /dotfiles/vim 文件夹中,还有 on Bitbucket。)

        【讨论】:

        • 我刚决定做set runtimepath^=d:\path\to\vimfiles 不幸的是硬编码这些文件的位置,但现在至少我可以将它们保存在源代码管理中。事实证明,我使用 Vim 的次数越多,我的设置就越需要自定义。
        • 这绝对是解决这个问题最无痛的方法
        • 这是我认为最好的解决方案。我想说把它添加到 ~/.bash_profile-file: alias vim="/PATH/TO/VIM-DIR/vim -S ~/PATH/TO/VIMRC-DIR/.vimrc" 而vim的路径可以通过编写 which vim 来找到(查看正在使用哪个 vim)。
        • 这对我来说非常有效,因为我意识到该行不能是:source "c:\path\to\my.vimrc"(AKA 不能使用引号)
        【解决方案7】:

        我编辑了

        C:\Program Files\Vim\_vimrc
        

        并更改了运行时路径并获取了我自己的 .vimrc。

        我也在 Cygwin 中使用这些设置(并对其进行版本控制)。所以在实践中是这样的(添加在_vimrc文件的底部):

        let &runtimepath = 'C:\cygwin\home\cygwinaccount\.vim,' . &runtimepath
        source C:\cygwin\home\cygwinaccount\.vimrc
        

        幸福! :)

        【讨论】:

          【解决方案8】:

          我看到两个选项,具体取决于您的需要。

          1. 让 ~/.vimrc 导入其他位置
          2. 在你的 bashrc 中创建一个别名 alias vim="vim -u otherlocation"

          【讨论】:

          • 如何做第一件事?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-04-19
          • 1970-01-01
          • 1970-01-01
          • 2017-07-19
          • 1970-01-01
          • 2017-06-11
          • 2023-03-29
          相关资源
          最近更新 更多