vim-addon-manager【转】
Vim是一个非常优秀的编辑器,但是没装插件的Vim就始终只是个编辑器而已,是插件让Vim变得更加强大。
但是插件装得多了,管理就成了问题,Vim本身并没有提供插件管理功能,往往时间一长,.vim/vimfile 文件夹下就变得杂乱不堪。
vim-addon-manager这个插件就是为了管理Vim插件的插件。
介绍:
This plugin allows users to install and uninstall plugins with a minimum of work. Features:- Separate directories for each plugins- Dependency resolution- Popular VCS support: plugin supports fetching from Git, Mercurial,Subversion and Bazaar repositories
简单来说就是可以非常方便的安装和卸载插件。
依赖关系:
- Curl, wget or other program that can output URL contents to stdout (inorder to get http protocol support)- Git, Mercurial, Subversion and Bazaar (if you want to install pluginsfrom appropriate repositories)- vcs_checkouts plugin (comes with this addon)- Either tar, gzip and zip or 7-zip (required for unpacking some addons)- Vimball plugin (required for installing some addons) (in latest vim itis included by default)
linux下基本上安装下git和Mercural就可以开始安装了,windows下就比较麻烦,需要自行下载Curl,7z并将路径加入系统path,并安装msysgit。
在一切准备工作做好之后,就可以开始安装了。
新建一个目录用于存放插件文件,如:
|
1
|
~/vim-addons |
然后进入这个文件夹,并下载插件文件:
|
1
2
|
cd ~/vim-addonsgit clone git://github.com/MarcWeber/vim-addon-manager.git |
安装完毕,会发现vim-addons文件夹下多了一个vim-addon-manager文件夹,这个文件夹中存放了vim-addon-manager的主要文件。
接着在.vimrc/_vimrc文件夹下添加以下代码:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
fun SetupVAM() set runtimepath+=~/vim-addons/vim-addon-manager " commenting try .. endtry because trace is lost if you use it. " There should be no exception anyway " try call vam#ActivateAddons(['pluginA', 'pluginB'], {'auto_install' : 0}) " pluginA could be github:YourName see vam#install#RewriteName() " catch /.*/ " echoe v:exception " endtry endf call SetupVAM() " experimental: run after gui has been started (gvim) [3] " option1: au VimEnter * call SetupVAM() " option2: au GUIEnter * call SetupVAM() " See BUGS sections below [*] |
将代码中的runtimepath后面改正本机上vim-addon-manager的路径。
然后打开vim(linux下似乎不能直接打开图形版vim?笔者试着直接打开会无法运行,需要在终端中执行gvim打开),首次执行时会下载插件仓库文件(需要git)。
一切完成之后,就可以开始使用了。
安装插件:
|
1
|
:InstallAddons {name} |
比如需要安装taglist,就执行:
|
1
|
:InstallAddons taglist #注意大小写 |
这里不能不说一下,vim-addons-manager有个不太方便的地方,就是安装插件时插件的名字一定要与仓库中的完全匹配,这就给安装带来了一些麻烦。笔者的做法是自行打开
|
1
|
~/vim-addons/vim-addon-manager-known-repositories/plugin/vim-addon-manager-known-repositories.vim |
并在其中查找插件的完整名称,然后进行安装。
激活插件:
|
1
|
:ActivateAddons {name} |
如:
|
1
|
:ActivateAddons taglist |
不过要注意这样激活的插件在下次打开Vim的时候是不会自动激活的,如果希望每次打开Vim都自动激活该插件,则需要在.vimrc/_vimrc文件中修改如下语句:
|
1
|
call vam#ActivateAddons(['pluginA', 'pluginB'], {'auto_install' : 0}) |
将其中的“pluginA”,“pluginB”修改为需要激活插件的名字(方括号内可以继续添加),下次启动Vim时就可以自动激活。
事实上,之后同步Vim插件就非常方便了,只需要同步.vimrc/_vimrc文件和vim-addon-manager插件就行了,所有在vam#ActivateAddons中包含的插件在首次运行时会自动安装,是不是很方便呢?
不过有些插件安装后有些问题,比如C/C++ IDE 安装后会找不到template,不过可以通过修改插件来修正。
以上只是一些基础的用法,更详细的使用帮助可以查阅插件的帮助。
vim-addon-manager【转】的更多相关文章
- 打造linux下的source insight——vim插件安装使用总结
source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...
- Vim插件之Command-T使用问题
最近在使用vim插件CommandT时出现问题其实就是vim没有支持ruby,不过google之后找到了解决方法,老外的态度还是很让人敬佩的,度娘搜索的结果太让人呕心了.. 贴下,以后再次遇到解决. ...
- vim插件安装总结
vim插件安装总结 vim 插件 vundle 插件对于vim来说是一个杀手级别的神器助手,能自动补全,语法高亮,文件搜索等等,有效地提升了编程效率.下面就个人的一些安装和使用进行一个总结. 自动管理 ...
- vim+python
#!/bin/bash # install fisa vim config echo '===============================' echo 'start to install ...
- Basic Vim Configuration
原文: https://computers.tutsplus.com/tutorials/basic-vim-configuration--cms-21498 原来,vim的配置文件,.vimrc也是 ...
- Openstack 实现技术分解 (3) 开发工具 — VIM & dotfiles
目录 目录 前文列表 扩展阅读 前言 插件管理 Vundle 主题 Solarized 浏览项目目录结构 Nerdtree Symbol 窗口 Tagbar 文件模糊查询 CtrlP 代码补全 You ...
- CentOS上手工部署kubernetes集群
本文完全是根据二进制部署kubernets集群的所有步骤,同时开启了集群的TLS安全认证. 环境说明 在下面的步骤中,我们将在三台CentOS系统的物理机上部署具有三个节点的kubernetes1.7 ...
- Kubernetes采用CoreDNS
参考文档: kubernetes插件:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/coredns 自 ...
- Kubernetes 部署 1.9.7 高可用版
转载于https://codegreen.cn/2018/08/30/kubernetes-cluster-1.9.7/ 前言 在部署之前,首先感谢 手动搭建高可用的kubernetes 集群 博文的 ...
- 高可用Kubernetes集群-11. 部署kube-dns
参考文档: Github介绍:https://github.com/kubernetes/dns Github yaml文件:https://github.com/kubernetes/kuberne ...
随机推荐
- Unity3D之高级渲染-Shader Forge增强版
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家.特邀编辑.畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D ...
- Linux文件夹、分区
必须明确,硬盘分区的存在,是由硬盘的物理特性决定的,不会因为操作系统的不同而有所改变 所以不用对为根目录/挂载分区的同时还为/usr挂载分区感到惊讶 ====分区的概念==== 可以把一个硬盘比成 ...
- C# 中 in,out,ref 的作用与区别
In:过程不会改写In的内容 Out和out:传入的值不会被过程所读取,但过程可以写 ref:传入的值,过程会读,也会写 就象你把布料送到裁缝的一个收料箱(裁缝用这个区别是哪家客户) IN:这块布料, ...
- JAVA加解密 -- Base64加解密
Base64算法实现:可以将任意的字节数组数据,通过算法,生成只有(大小写英文.数字.+./)(一共64个字符)内容表示的字符串数据. private static final String str ...
- git学习——分支
分支 创建分支:git branch 如:git branch testing Git通过HEAD指针知道用户是在哪一个分支上工作. 切换分支用git checkout命令,注意:可以用git sta ...
- Spine U3D整合流程问题
Spine U3D整合流程问题 What: 公司2d项目开发,动画外包的spine.本来在spine里面一切正常,但是导入u3d运行库的时候动画切换的时候原来的动画是好的,一旦切换了就乱帧了. 如下结 ...
- 一个下载git库代码的脚本
由于每日构建需求, 须要用脚本下载代码, 实现自己主动化编译, 这个脚本是整个系统的一小块功能 #!/bin/bash #@author Liuyang #@date 2015-06-23 funct ...
- 详解Android首选项框架的使用
首选项这个名词对于熟悉Android的朋友们一定不会感到陌生,它经常用来设置软件的运行参数. Android提供了一种健壮并且灵活的框架来处理首选项.它提供了简单的API来隐藏首选项的读取和持久化,并 ...
- 【MyBatis学习13】MyBatis中的二级缓存
1. 二级缓存的原理 前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的.为了更加 ...
- js判段URL是否可用(js判段网络是否不可用)
下面亲自測试可行: 兼容全部浏览器,用JQuery的方法,能够判段URL是否可用.也能够判段网络是否不可用(前提:假设URL可用.返回也不是200,那就说明是网络不可用.能够以此作为网络是否可用的判段 ...