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 (in
      order to get http protocol support)
    - Git, Mercurial, Subversion and Bazaar (if you want to install plugins
      from 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 it
      is included by default)

linux下基本上安装下git和Mercural就可以开始安装了,windows下就比较麻烦,需要自行下载Curl,7z并将路径加入系统path,并安装msysgit。

在一切准备工作做好之后,就可以开始安装了。

新建一个目录用于存放插件文件,如:

1
~/vim-addons

然后进入这个文件夹,并下载插件文件:

1
2
cd ~/vim-addons
git 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【转】的更多相关文章

  1. 打造linux下的source insight——vim插件安装使用总结

    source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...

  2. Vim插件之Command-T使用问题

    最近在使用vim插件CommandT时出现问题其实就是vim没有支持ruby,不过google之后找到了解决方法,老外的态度还是很让人敬佩的,度娘搜索的结果太让人呕心了.. 贴下,以后再次遇到解决. ...

  3. vim插件安装总结

    vim插件安装总结 vim 插件 vundle 插件对于vim来说是一个杀手级别的神器助手,能自动补全,语法高亮,文件搜索等等,有效地提升了编程效率.下面就个人的一些安装和使用进行一个总结. 自动管理 ...

  4. vim+python

    #!/bin/bash # install fisa vim config echo '===============================' echo 'start to install ...

  5. Basic Vim Configuration

    原文: https://computers.tutsplus.com/tutorials/basic-vim-configuration--cms-21498 原来,vim的配置文件,.vimrc也是 ...

  6. Openstack 实现技术分解 (3) 开发工具 — VIM & dotfiles

    目录 目录 前文列表 扩展阅读 前言 插件管理 Vundle 主题 Solarized 浏览项目目录结构 Nerdtree Symbol 窗口 Tagbar 文件模糊查询 CtrlP 代码补全 You ...

  7. CentOS上手工部署kubernetes集群

    本文完全是根据二进制部署kubernets集群的所有步骤,同时开启了集群的TLS安全认证. 环境说明 在下面的步骤中,我们将在三台CentOS系统的物理机上部署具有三个节点的kubernetes1.7 ...

  8. Kubernetes采用CoreDNS

    参考文档: kubernetes插件:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns/coredns 自 ...

  9. Kubernetes 部署 1.9.7 高可用版

    转载于https://codegreen.cn/2018/08/30/kubernetes-cluster-1.9.7/ 前言 在部署之前,首先感谢 手动搭建高可用的kubernetes 集群 博文的 ...

  10. 高可用Kubernetes集群-11. 部署kube-dns

    参考文档: Github介绍:https://github.com/kubernetes/dns Github yaml文件:https://github.com/kubernetes/kuberne ...

随机推荐

  1. DevExpress.Build

    using System.Collections.Generic; using Microsoft.Build.AppxPackage; using Microsoft.Build.Framework ...

  2. OpenGL 资源汇编

    本文收集和汇总了 OpenGL 的文档.教程和在线书籍,供学习和开发者參考. OPENGL开发教程:http://www.linuxgraphics.cn/opengl/index.html Open ...

  3. 微信小程序 - 文字走马灯

    转载于csdn maid_04,总之多谢了!节省了不少时间呢 最近在做一个类似uu跑腿的项目,时间也特别紧,搞完以后再继续贴地图代码(高德.腾讯) 以下代码拷贝即可用,拿走谢谢上面的人吧(~.~) w ...

  4. [1-4] 把时间当做朋友(李笑来)Chapter 4 【开拓我们的心智】 摘录

    1. 获得知识的基本途径  所有的人获取知识的最为基础的手段就是“体验”. 比“体验”再高级一点的获取知识的手段,就是“试错”(Trial and Error). 在“试错”这个手段的基础上,另外一个 ...

  5. Swift学习-枚举(Enumerations)的使用方法

    Swift学习-枚举的使用方法 枚举的使用语法: enum someEnumer { // 枚举的成员值 } 以下是方向的一个例子: enum direction { case Up case Dow ...

  6. C# 播放H264裸码流

    要播放H264裸码流,可以分拆为以下三个工作: 1.解码H264裸码流获取YUV数据 2.将YUV数据转换为RGB数据填充图片 3.将获取的图片进行显示 要完成工作1,我们可以直接使用海思的解码库,由 ...

  7. RabbitMQ快速入门python教程

    摘要:HelloWorld 简介 RabbitMQ:接受消息再传递消息,可以视为一个“邮局”.发送者和接受者通过队列来进行交互,队列的大小可以视为无限的,多个发送者可以发生给一个队列,多个接收者也可以 ...

  8. Atitit.biz业务系统 面向框架  面向模式---------数据映射imp

    Atitit.biz业务系统 面向框架  面向模式---------数据映射imp 1.1. 面向变量  面向过程  面向对象 面向组件  面向框架  面向服务 面向模式1 1.2. 第2章 架构模式 ...

  9. Atitit. atiOrder   Order 订单管理框架的设计

    Atitit. atiOrder   Order 订单管理框架的设计 1. Order 订单处理流程1 2. code2 3. Ref7 1. Order 订单处理流程 if(userSvr.isNo ...

  10. js将用户上传gif动图分解成多张帧图片

    js将用户上传gif动图分解成多张帧图片 写在前面 工作中遇到一个这么一个需求:这是一个多图上传的场景,如果用户上传选择多张图片,则上传后直接展示多张图片,如果上传的图片是gif动图,则需要分解这张动 ...