vim插件推荐:vim_addon_manager

我经常编辑远程文件,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的内容,没有测试过,不知道是否能达到目的。改天试试

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据