vimrc 和 vimruntime 有什么区别

What is the difference between vimrc and vimruntime

我从 amix/vimrc 下载了 vimrc,这对开始 vim 非常有帮助。但是当我尝试编辑 .vim_runtime 时,我不断收到错误。这是我的 .vimrc

set runtimepath+=~/.vim_runtime
    source ~/.vim_runtime/vimrcs/basic.vim
    source ~/.vim_runtime/vimrcs/filetypes.vim
    source ~/.vim_runtime/vimrcs/plugins_config.vim
    source ~/.vim_runtime/vimrcs/extended.vim
 try
    source ~/.vim_runtime/my_configs.vim
 catch
 endtry

现在我想更改我的 NERDTree 插件的设置,但我不知道在哪里编辑我的设置。该配置让 vim 的新手感到困惑。我发现了这个类似的 question 但它对我的努力没有帮助。有人可以解释 vimrc 和 vimruntime 之间的区别吗?我可以看到 vimrc 从 .vim_runtime 中获取设置,但是我是将设置添加到 vimrc 还是 vimruntime?哪个是添加设置的最佳位置?

您正在使用其他人的 Vim 配置文件,这可能有点棘手,尤其是当 vimrc 文件很大或分成许多文件时。

这是怎么回事?

amix 决定将他的 vimrc 配置分解成更小的文件,以帮助组织他的 vimrc 文件。他通过 :source-ing 这些文件形成他的 vimrc 文件(参见 :h :source)来完成此操作。现在理论上你可以在这些其他文件之一中添加你的 NerdTree 设置,可能是 ~/.vim_runtime/vimrcs/plugins_config.vim.

需要注意的是,这个文件约定不是原生的Vim,只是amix为了帮助他处理庞大的vimrc而发明的东西文件。他的惯例可能与您自己的组织不一致,如果您将来寻求帮助,可能会有所阻碍。

友情警告

年轻的vimmer使用别人的配置文件有几点需要注意:

  • 经常使用大型 and/or 复杂的 vimrc 会在您想要进行自己的自定义时导致混乱
  • vimrc 文件是一个非常自以为是的文件。您的意见可能会发生冲突
  • 假设您复制的 vimrc 是 "good" 或更有可能:"good for your workflow"
  • 很多时候很多设置都是在没有任何理解的情况下简单照搬的。很好的例子是 'gdefault' 选项(参见 :h 'gdefault'
  • 不理解就复制会导致cargo cult programming
  • Vimrc 文件容易出现问题。这意味着您可能正在复制不再使用、令人困惑或完全损坏的东西

想法

通常最好从一个小的 vimrc 文件开始,然后在学习的过程中慢慢添加。这意味着您了解 vimrc 中的每一行。开始使用 vimrc 的一个好地方是:idiomatic-vimrc.

对于一般的 Vim 定制建议,我会向您指出 Drew Neil 的 Vimcast post:On sharpening the saw

有关详细信息,请参阅:

:h vimrc-intro
:h vimrc_example.vim
:h vimrc
:h startup
:h :source
:h 'gdefault'