我经常编辑远程文件,emacs配置太麻烦,而且,在putty下,快捷键不能像本机那样方便, 因此,就使用vim上了。
vim确实很快,问题在于,配置也不方便,按照我在emacs下的习惯,折腾了很多目录,为每 个插件配置自己的目录,以便可以使用git来自动更新,总之,管理不方便。
后来,看到有人介绍vim_addon_manager,一看,好东东啊,每个插件一个目录,和我想要 的一样,关键在于,支持自动下载,只要配置文件写了,如果不存在的话,会自动下载,如 果不想要的话,直接删掉文件夹即可(正是为了这一点,我才将目录分了好多个),总而言 之,只用配置一个.vimrc即可,剩下的插件之类的,vim_addon_manager都会帮你下载,做 事情立马专注好多。
如何做?
下面是我的做法,你也可以根据自己的情况来弄。
我是通过git来管理所有的配置的,都放在一个叫vim_config.git的仓库中,因此,目录结 构大约如下:
[-]
vim_config[-]
.git- .vimrc
- plugin
我的所有的插件都放在plugin下,这样,在使用的时候,只要将.vimrc链接到HOME目录中即 可,按照我原来的做法,添加插件的时候,只要用git submodule add添加到plugin中,然 后通过配置.vimrc即可。
这样的不完美的地方在于,每添加一个新的插件,必须知道插件的git路径,不然,只能手 动解压缩等等,太过麻烦。
使用vim_addon_manager的方式就简单多了,只用将vim_addon_manager作为git的submodule 添加到项目中即可,比如我的:
git submodule add git://github.com/MarcWeber/vim-addon-manager.git plugin/vim-addon-manager git submodule init git submodule update
然后就是配置.vimrc了,我使用最简单的方式,如下
"配置vim_addon_manager相关安装 fun SetupVAM() set runtimepath+=~/work/vim_config/plugin/vim-addon-manager call vam#ActivateAddons([ \ 'a', \ 'taglist', \ 'Solarized', \ ]) let scripts = [] call add(scripts, {'name': 'javascript', 'ft_regex':'^\.js$latex '}) call add(scripts, {'name': 'vim-erlang-skeleteons', 'ft_regex':'^\.e l$'}) "call vam#Scripts([], '{tag_regex': '.*'}) endf call SetupVAM() "配置中文相关帮助 let g:vim_addon_manager['plugin_sources']['cnhelp'] = {"type":"git", "url":" git://github.com/jkeylu/vimcdoc.git"} call vam#ActivateAddons(['cnhelp']) set helplang=cn set encoding=utf-8
上面的配置中,SetupVAM中的配置了自动激活3个插件,a,taglist, Solarized,如果不存在 的话,启动过程中会自动下载的。后面的是关于中文帮助的,同时是一个自定义的插件的添 加说明,我不知道中文帮助在vim_addon_manager中是否包含(貌似没有),但可以通过上述 的方式,自动下载中文帮助,并且将帮助设置为中文显示
总之,实在太方便了,只用保存一个.vimrc即可,整个世界一片清静。
作为emacs的忠实用户,我不得不表示,压力山大
于是,我就找了下emacs有没有类似这样的配置,因为我的emacs的每个模式的配置,都已经 超过半百了,找到了一个el-get的内容,没有测试过,不知道是否能达到目的。改天试试