一、pathogen简介

通常情况下安装vim插件,通常是将所有的插件和相关的doc文件都安装在中一文件夹中,如将插件全部安装在/usr/share/vim/vim73/plugin/目录下,将帮助文档全部安装在/usr/share/vim/vim73/doc/目录下。这样做带来的后果是修改和卸载插件很麻烦,很难弄清楚哪个文件属于哪个插件。

如果用pathogen来管理插件的话,就会变得方便很多了。pathogen让每个插件占有一个单独的目录,解决了文件分散的问题。安装完pathogen之后,只需要在~/.vim/目录下新建一个目录~/.vim/bundle/,并将要安装的所有插件放在~/.vim/bundle/目录下即可以使用。如果要删除某个插件,只需要将~/.vim/bundle/目录下对应的插件目录删除即可。如果想保持某个插件为最新版本,直接从插件的仓库checkout一份代码到bundle目录即可。

二、安装pathogen

pathogen的下载地址为:https://github.com/tpope/vim-pathogen

下载后可以直接解压。unzip vim-pathogen-master.zip

pathogen插件只有一个单独的脚本,所谓安装就是把它放在当前用户的 ~/.vim/autoload 目录下即可。

即,将解压后的autoload目录连同里面的pathogen.vim插件拷贝到~/.vim/目录下。cp autoload/ ~/.vim/ -r

三、启用pathogen

要启用pathogen,还需要在~/.vimrc 文件里, filetype plugin indent on 之前的任何地方,加入下面这句:

call pathogen#infect()

注:这里需要说明一下,该插件不能放到/usr/share/vim/vim73/目录下,而只能放到~/.vim/目录下。要启用pathogen也只能修改~/.vimrc,而不能修改/etc/vimrc (Ubuntu下一般只需要修改~/.vimrc即可。如果使用Fedora,当以root用户打开vim时,如果要使插件或对VIM的配置生效,则需要修改/etc/vimrc文件)。

如果没有~/.vimrc文件,创建该文件并将以下内容拷贝到该文件中:

call pathogen#infect()

syntax on

filetype plugin indent on

要生成帮助文档的话,就在vim下输入:call pathogen#helptags()即可。

四、安装新插件

到目前为止,pathogen已经启用,要安装新插件,只需要下载该插件,并将其放到~/.vim/bundle/目录下即可。

1、安装NERDTree

例如,要下载安装NERDTree插件,只需要进入到~/.vim/bundle/目录,然后执行以下命令:

git clone http://github.com/scrooloose/nerdtree.git

下载完成后,会看到~/.vim/bundle/目录下会多出一个新的目录:nerdtree

OK!NERDTree插件已经安装完成了!可以看到这种方式比传统的vim插件安装方式简单多了!

而要卸载该插件也非常简单,只需要在~/.vim/bundle/目录下删除nerdtree目录即可,干净利落!

要更新该插件到最新版本,只需要进入到该目录~/.vim/bundle/nerdtree/,并执行以下命令:

git pull origin

当然这种安装和更新插件的方法只适用于代码仓库支持git的方法。

对于无法用git下载的插件,就更新bundle里的那个以插件名为名的目录就好。

2、安装tagbar

tagbar可以做为taglist的替代者,在~/.vim/bundle/目录执行安装命令如下:

git clone https://github.com/majutsushi/tagbar.git

之后同样可以在vimrc文件中设置快捷键:

  1.  
    nmap <F4> :TagbarToggle<CR> "设置快捷键
  2.  
    let g:tagbar_width = 40 "设置宽度,默认为40
  3.  
    autocmd VimEnter * nested :call tagbar#autoopen(1) "打开vim时自动打开
  4.  
    tagbarlet g:tagbar_left = 1 "在左侧"
  5.  
    let g:tagbar_right = 1 "在右侧

列举几点比taglist优化了的地方:

(1)支持头文件的函数列表显示

tagbar对函数的可见级别也是做了区分的,分别用+ - # 并配合着色来做了区分。

(2)对面向对象的支持更好

taglist虽然也会列出类列表,但是整体还是很不直观。

(3)自动根据文件修改时间来重建

taglist在这一点上体验就很不好,其实明明可以通过这种时间戳的方式来实现。

(据说tagbar最好配置ctags使用,效果会更好)

3、安装supertab插件

SuperTab插件的作用是使键盘上的Tab键具有更快捷的自动补齐和上下文提示功能。在~/.vim/bundle/目录下下载并安装该插件:

git clone https://github.com/ervandew/supertab.git

安装好之后,就可以在vim中直接使用自动补齐功能了。比如,用vim打开一个.c文件,要声明一个unsigned int 类型的变量,只需要输入unsi,之后按Tab键,就会将该关键字自动补齐了,非常好用。

五、利用pathogen,配置vim语法高亮

vim自身可以设置关键字高亮,却无法设置函数名和自定义的数据结构高亮,可以通过taghighlight插件解决这一问题。

首先安装taghighlight插件,在~/.vim/bundle/目录运行以下命令:

hg clone https://bitbucket.org/abudden/taghighlight

等一小段时间,等待taghighlight下载完毕后,就可以使用了。

十款优秀的插件:

https://www.cnblogs.com/linuxprobe/p/5926821.html

来源:https://blog.csdn.net/zhaoyw2008/article/details/8012757

vim 插件安装的更多相关文章

  1. vim插件安装总结

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

  2. Eclipse vim插件安装使用

    在eclipse移动关闭位置感觉非常不爽,经常要用到方向键和鼠标,导致经常要移来移去.果断受不了了,去网上搜了下发现eclipse有许多vim插件可以使用.有一个大家都比较推荐的是 vrapper   ...

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

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

  4. 【原创】vim插件安装简介

    一.安装vundle(vim插件管理软件): git clone https://github.com/VundleVim/Vundle.vim 拷贝目录到 ~/.vim/bundle/Vundle. ...

  5. Linux c++ vim环境搭建系列(4)——vim插件安装配置使用

    4. 插件 主要是c++相关的. ~/.vimrc文件在GitHub上有:https://github.com/whuwzp/vim_config 以下内容参考: https://github.com ...

  6. Vrapper-Eclipse的vim插件安装方法

    Vrapper是一款Eclipse的插件,使在Eclipse下编辑文档时可以像使用Vim一样. 它有两种安装方法,在线安装和安装包安装: 在线安装: 打开Eclipse,Help->Instal ...

  7. MarkDown的vim插件安装

    作用:可以使markdown语法高亮.1.安装.使用pathogen插件管理.    cd ~/.vim/bundle    git clone https://github.com/plasticb ...

  8. Vim插件安装

    一.常用的插件 sudo apt-get install vim vim-scripts vim-docsudo apt-get install ctagssudo apt-get install v ...

  9. ubuntu vim 插件安装

    参考:http://blog.sina.com.cn/s/blog_00f0230d0100y7ih.html 不过由于时间久远,有些已经失效,以上是我的修改过程 参考:https://github. ...

随机推荐

  1. Go语言之依赖管理

    Go语言之依赖管理 Go语言的依赖管理随着版本的更迭正逐渐完善起来. 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面.这就导致了同一个库只能保存一个 ...

  2. editormd 富文本编辑器转 html

    // html <div id="markdown-view"> <textarea id="markdownView" style=&quo ...

  3. 无法删除登录名 '***',因为该用户当前正处于登录状态。 (Microsoft SQL Server,错误: 15434)

    问题描述: 当删除数据库用户时,有时会得到这样的提示: 无法删除登录名 '***',因为该用户当前正处于登录状态. (Microsoft SQL Server,错误: 15434) 解决办法: 1.首 ...

  4. SIP中第三方呼叫控制(3PCC)建立流程

    1.引言 在传统的电话网环境中,第三方呼叫控制允许一个实体(这里称为控制器- controller) 建立并管理另外的两方或多方之间的通信关系,而其本身并不参与通信. 第三方呼叫控制经常用于运营商业务 ...

  5. C# webserver实现短信发送(移动)

    近端时间接了个需求在原来的OA办公系统中添加一个发送短信功能.(既然需要发送短信那肯定要申请一个发送短信的账号,我这里是以移动mas为列子) c#的weserver需要选协议WS.其他的基本不用怎么填 ...

  6. Lab1 Report

    Lab1 report A) The brief description that you install junit, hamcrest and eclemma. a)  install junit ...

  7. yum list报一些error的组件

    1 删除那些无效的参数配置,就不再报错了

  8. 【异常】hbase启动后hdfs文件权限目录不一致,导致Phoenix无法删除表结构

    1 异常信息 Received error when attempting to archive files ([class org.apache.hadoop.hbase.backup.HFileA ...

  9. mmap:内存映射文件

    介绍 建立一个文件的内存映射将使用操作系统虚拟内存来直接访问文件系统上的数据,而不是使用常规的I/O函数访问数据. 内存映射通常可以提高I/O性能,因为使用内存映射时,不需要对每一个访问都建立一个单独 ...

  10. php 把数字拆分成数组

    用str_split $a = 1234567890; //拆分数字为数组 var_dump( str_split($a, 1) ); 打印结果 : Array ( [0] =2 [1] =5 )