我想在不同的组件中分解我的vimrc。我使用Vundle管理我的vim插件,我希望每个插件有一个文件告诉vundle管理它并设置如下配置:
vundle.vim:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
"Plugin in here:
Plugin 'gmarik/Vundle.vim'
call vundle#end()
filetype plugin indent on
"Plugin Options:
和 syntastic.vim:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
"Plugin in here:
Plugin 'scrooloose/syntastic'
call vundle#end()
filetype plugin indent on
"Plugin Options:
" - Python:
let g:syntastic_python_checkers = ['pylint', 'flake8']
let g:syntastic_aggregate_errors = 1
等等。
如果我现在称之为vimrc:
source vundle.vim
source syntastic.vim
只有最后一个插件出现在vundles插件列表中,其他配置仍然可以读取。 我想,vundle打电话给' vundle#begin()' /' vundle#end()'部分仅在调用时(:PluginXXX),因此仅返回上次获取的文件的内容。 我怎么解决这个问题? 我可以使用像
这样的东西吗?PLUGINS = "Plugin gmarik/vundle"
PLUGINS = $PLUGINS + "Plugin scrooloose/syntastic"
...
并致电
vundle#begin()
$PLUGINS
vundle#end()
在我的vimrc中? 如果是这样,vim变量的语法是什么?
答案 0 :(得分:1)
~/.vimrc
:
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
runtime! config/*.vim
call vundle#end()
filetype plugin indent on
...
~/.vim/config/syntastic.vim
Plugin 'scrooloose/syntastic'
let g:syntastic_python_checkers = ['pylint', 'flake8']
let g:syntastic_aggregate_errors = 1
...
等等。但那个IMO为零利益做了很多工作。
答案 1 :(得分:0)
我最终得到了这个:
set nocompatible
filetype off
set rtp+=~/.nvim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'rking/ag.vim'
...
call vundle#end()
filetype plugin indent on
runtime! vundle/*.vim
这意味着我获得了vundle#begin()
和vundle#end()
的性能以及在自己的文件中为每个插件设置的模块化。这种设置给出了意想不到的优势,即管理的插件文件较少,即Plugin
单行。现在唯一的插件,.vim文件,我有其他配置。
这种设置的缺点是我必须从两个地方删除插件。
优点是:提高性能;你仍然有相当模块化的插件设置,使它们更容易添加和删除。