一、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. 聊聊BIO、NIO与AIO的区别

    题目:说一下BIO/AIO/NIO 有什么区别?及异步模式的用途和意义? 1F 说一说I/O首先来说一下什么是I/O? 在计算机系统中I/O就是输入(Input)和输出(Output)的意思,针对不同 ...

  2. python3启航

    Python3的基本数据类型 数字 int ,所有功能都放在int里 a1 = 123 a2 = 456 ##int 将字符串转换为数字 a = "123" print(tyep( ...

  3. MyBatis学习存档(5)——联表查询

    之前的数据库操作都是基于一张表进行操作的,若一次查询涉及到多张表,那该如何进行操作呢? 首先明确联表查询的几个关系,大体可以分为一对一和一对多这两种情况,接下来对这两种情况进行分析: 一.建立表.添加 ...

  4. 【搜索】Partition problem

    题目链接:传送门 题面: [题意] 给定2×n个人的相互竞争值,请把他们分到两个队伍里,如果是队友,那么竞争值为0,否则就为v[i][j]. [题解] 爆搜,C(28,14)*28,其实可以稍加优化, ...

  5. 怎样监听xhr.readyState值的变化

    可以使用 xhr.onreadystatechange 属性指向的函数去监听 xhr.readyState 值的变化. 示例如下: var xhr = new XMLHttpRequest(); xh ...

  6. StoneTab标签页CAD插件 3.2.0

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...

  7. SpringBoot的数据访问

    一.JDBC方式 引入starter. <dependency> <groupId>org.springframework.boot</groupId> <a ...

  8. selenium无头浏览器&规避操作

    一.无头浏览器概述: 无头浏览器主要目的是打开浏览器但用户看不到 简单用法如下: from selenium import webdriver from time import sleep from ...

  9. RabbitMQ的持久化

      RabbitMQ的持久化主要体现在三个方面,即交换机持久化,队列持久化及消息持久化 注意,因公司使用php-amqplib来实现RabbitMQ,故之后举例说明的代码均使用的php-amqplib ...

  10. 在cmd下import cv2报错——OpenCV实现BRISK

    平台:win10 x64 +JetBrains PyCharm 2018.2.4 x64 +Anaconda3(python3.7.0+opencv3.4.5) Issue说明:同学发了个python ...