初学vim的时候在网上找过很多vim配置,大多是把所有内容放在 .vimrc 文件中。单个文件内容太多,查找及维护也比较麻烦,不方便多个配置方案的切换。自己抽时间整理了一个方案,共享一下。
1.入口配置文件
.vimrc作为配置的入口。只放简单的配置加载函数。内容如下:
" load lcc {{{ " 如果你不想加载lcc,请取消下面这一行的注释 " let g:lcc_loaded = 1 " 设置配置文件加载方式 let g:lcc_runtime=1 let s:lcc_path=expand('<sfile>:h').'/.lcc' fu! LoadLCC() let g:lcc_loaded=1 if !exists('$VIMFILES') " 根据配置文件判断加载目录 if g:lcc_runtime == 0 let $VIMFILES=filereadable(split(&rtp, ',')[0].'/conf/main.vim') ? split(&rtp, ',')[0] : \ filereadable(split(&rtp, ',')[1].'/conf/main.vim') ? split(&rtp, ',')[1] : \ '' " 针对自定义目录 elsei g:lcc_runtime == 4 let $VIMFILES=s:lcc_path exe 'se rtp+='.escape(s:lcc_path.','.s:lcc_path.'/after', ' ') en en " 加载主配置文件 " filereadable so $VIMFILES/conf/main.vim endf " start lcc happy viming! if !exists('g:lcc_loaded') | cal LoadLCC() | en " }}}
lcc_runtime为1时,自动查找rtp的第1个路径和第2个路径,根据是否存在主配置文件来设定配置文件的路径,配置文件可以放在$HOME或者$VIM下面,可同时兼容linux和win。lcc_runtime为4时,根据lcc_path的值指定一个runtime,并加载这个runtime中的配置。
2.主配置文件
$VIMFILES/conf/main.vim文件做为主配置文件,在其中加载各项分割配置文件,定义一些特殊功能等。内容如下:
" -------------------------------------------------- " [分配置文件加载] {{{1 " -------------------------------------------------- " 加载设置选项 访问命令 \es so <sfile>:p:h/set.vim " 加载插件配置,插件对应热键定义在内 访问命令 \ed so <sfile>:p:h/plugin.vim " 加载自定义函数 访问命令 \ef so <sfile>:p:h/function.vim " 加载按热键配置 访问命令 \eg so <sfile>:p:h/keyboard.vim " 加载自定义命令 访问命令 \ec so <sfile>:p:h/command.vim " 加载项目配置文件 访问命令 \ep ru conf/project.vim " 1}}}
project.vim存放当前开发项目的一些特殊配置,使用ru命令不存在该文件时忽略错误。
2013年5月16日 23:00
好复杂的样子= =
我的 vim 配置除去按 Vim 已有的目录分类的也就仨文件:一个主的,一个 Python 的,一个 local 的。
多用标记分类折叠下主好啦。
另外,vimrc 中我习惯写命令/选项的全称。
2013年5月20日 11:41
分开几个配置文件,是想把一个类型的配置归类到一个文件里面去,使整体看起来更有序。我nginx的配置也是一个host独立放在一个文件里面。冒似我有洁僻,哈哈。@依云: