我的vim配置分割方案

左手 posted @ 2013年5月16日 21:05 in Vim with tags vim vimscript vim配置 , 1988 阅读

初学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命令不存在该文件时忽略错误。

Avatar_small
依云 说:
2013年5月16日 23:00

好复杂的样子= =
我的 vim 配置除去按 Vim 已有的目录分类的也就仨文件:一个主的,一个 Python 的,一个 local 的。
多用标记分类折叠下主好啦。

另外,vimrc 中我习惯写命令/选项的全称。

Avatar_small
左手 说:
2013年5月20日 11:41

分开几个配置文件,是想把一个类型的配置归类到一个文件里面去,使整体看起来更有序。我nginx的配置也是一个host独立放在一个文件里面。冒似我有洁僻,哈哈。@依云:


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter