在使用了vim一段时间之后,我的~/.vim/从第一次使用vim开始,随着时间的推移,变得非常混乱。所以我想,是时候收拾一下了,从一个配置清晰的插件管理器开始吧。
由于我在多台机器上共享我的配置,所以我通常使用git管理我的~/.vim/路径。为了避免出现大的.vimrc,我将自己的配置放在~/.vim/plugin/下。这允许我将所有共享配置保存在这个文件夹中,并且只对机器相关的配置使用~/.vimrc。
从NeoBundle上的VAM开始,到现在Vundle,我总是遇到同样的问题。如果我在~/.vim/plugin/pluginmanager.vim而不是~/.vimrc下添加所需的配置,则安装的插件不会加载或只是部分加载。命令:echo &rtp列出正确的包,但:scriptnames不包括已安装的插件。如果我执行mv ~/.vim/plugin/pluginmanager.vim ~/.vimrc,所有事情都会像预期的那样工作。
谁能解释一下这种行为,也许还能给出解决方案呢?
我的pluginmanager.vim看起来是这样的:
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'bling/vim-airline'
Plugin 'MarcWeber/vim-addon-mw-utils'
Plugin 'tomtom/tlib_vim'
Plugin 'garbas/vim-snipmate'
Plugin 'honza/vim-snippets'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required我的vim安装是7.4.52版本
发布于 2015-03-18 13:32:29
问题在于启动顺序。在您的~/.vimrc被执行之后(作为启动过程中的第一件事),Vim执行类似于:runtime! plugin/*.vim的东西来加载插件。由于插件管理器只是在那时才被调用,所以'runtimepath'中的更改不再达到触发:runtime命令的程度,插件也无法加载。
有许多解决办法:
~/.vim/pluginmanager.vim,并显式地将其从(每个副本) ~/.vimrc中删除。:runtime! plugin/*.vim重新触发。但我同意@brettanomyces的观点,最好的解决方案是按预期使用~/.vimrc,并将特定于系统的配置放在不同的脚本中。
发布于 2015-03-17 21:58:38
我建议将~/.vimrc文件用于一般配置,并将另一个文件(如~/.vimrc.local )与您的计算机特定配置一起使用。您可以通过向~/.vimrc.local中添加以下内容来获取~/.vimrc。
if filereadable(glob("~/.vimrc.local"))
source ~/.vimrc.local
endif信贷:http://blog.sanctum.geek.nz/local-vimrc-files/
要解决问题,请尝试将runtime! bundle/**/*.vim添加到pluginmanager.vim文件的末尾。
另见::help init
https://stackoverflow.com/questions/29110156
复制相似问题