vim插件管理利器:pathogen
来源:http://www.cnblogs.com/taskiller/archive/2012/08/14/2637689.html
一、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
下载后可以直接解压。pathogen插件只有一个单独的脚本,所谓安装就是把它放在当前用户的 ~/.vim/autoload 目录下即可。
即,将解压后的autoload目录连同里面的pathogen.vim插件拷贝到~/.vim/目录下。
三、启用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文件中设置快捷键:
nmap <F4> :TagbarToggle<CR> "设置快捷键
let g:tagbar_width = 40 "设置宽度,默认为40
autocmd VimEnter * nested :call tagbar#autoopen(1) "打开vim时自动打开
tagbarlet g:tagbar_left = 1 "在左侧"
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下载完毕后,就可以使用了。
vim插件管理利器:pathogen相关推荐
- Vim插件管理利器——Vundle
Vundle是基于Git仓库的插件管理软件.Vundle将插件的安装简化为类似yum软件安装的过程,只要:BundleInstall插件就安装完了,:BundleClean之后插件就卸载了. 一.Vu ...
- linux vim 插件管理,linux: vim插件管理
gmarik/Vundle.vim是目前被推荐次数更多的Vim插件管理器,超过了pathogen.这里我们 就用vundle来作为Vim的插件管理工具. 1.安装Vundle.vim Vundle.v ...
- vim 中的杀手级插件: vundle (vim 插件管理器)
From:http://zuyunfei.com/2013/04/12/killer-plugin-of-vim-vundle/ vundle.txt:https://github.com/Vundl ...
- Vim插件管理工具Vundle以及常用插件
1. Vim插件管理工具Vundle 虽然拥有大量的插件,却缺少一个 确之有效的插件管理器.所幸,Vundle的出现解决了这个问题. Vundle可以让你在配置文件中管理插件,并且非常方便的查找.安装 ...
- vim插件管理器minpac安装及使用
文章目录 写在前面 安装与配置 插件的安装与删除 安装插件 更新插件 删除插件 自定义命令 示例:`pydiction`补全插件的安装与使用 写在前面 本文介绍一下安装Vim插件管理器minpac的方 ...
- vim插件管理器:Vundle的介绍及安装(很全)(转载)
转载自:https://blog.csdn.net/zhangpower1993/article/details/52184581 背景 Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim ...
- linux安装vim plug,VIM 插件管理工具 vim-plug 简明教程
作为 VIM 的重度患者, 一款好用的插件管理工具显得尤为重要, 毕竟给 VIM 增加新功能, 或者是新增编程语言的支持都需要安装插件. 我个人目前安装了 133 款 VIM 插件. 我使用的 VIM ...
- VIM妙用及linux使用技巧(包括vim插件管理器、指令与键盘映射、打开多个文件、奇偶删除行、vim替换等)
前言 vim 是个非常高效.非常好用的工具,很多人一旦开始使用 Vim 之后就再也无法自拔.然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性,同时,为了展 ...
- vim插件管理器:Vundle的介绍及安装(很全)
背景 Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim下的几个文件夹中,插件的安装与更新与删除都需要自己手动来,既麻烦费事,又可能出现错误. Vundle简介 Vundle 是 Vim ...
- Vim插件管理器——Vundle
文章目录 Vim插件管理器--Vundle Vundle简介 如何安装 1 确保已经安装git 2 安装Vundle 3 配置 4 运行 几个常用的Vundle命令 Vim插件管理器--Vundle ...
最新文章
- 【插件】jQuery.iviewer----图片浏览(滚动放大缩小问题解决)
- MySQL必知必会——了解SQL/SQL简介/使用MySQL
- CDH集群调优:内存、Vcores和DRF
- 【2016.11.17】HTML学习笔记第二天
- Android入门(六) | Activity 的启动模式 及 生产环境中关于 Activity 的小技巧
- [转载]建立团队沟通协作工作方式
- 8.Azure文件(文件共享)-NAS(中)
- java怎样实现数据库 选择列属性的select查询??_除了不要 SELECT * ,使用数据库还应知道的11个技巧!...
- python花瓣长度和花瓣宽度散点图鸢尾花_Python可视化seaborn练习题
- java 实际参数列表_JAVA实际参数和形式参数列表长度不同
- (亲测好用,史上最详细)Amesim与Matlab联合仿真——软件安装、环境配置和仿真测试详细流程
- 嵌入式 Linux C 代码规范和风格
- html蒙版源代码,jquery蒙版控件实现代码_jquery
- C#对数据库的各种操作
- redis主从配置及主从切换
- 架构框架搭建(二)《Dubbo分布式领域驱动设计架构框体》
- 使用花生壳配置内网穿透
- 创意下的个性化咖啡体验,Barsetto百胜图咖啡
- 全网首档会员付费网综领跑曲艺文化新形态 爱奇艺《坑王驾到》第二季28日上线...
- 工业机器人控制系统的设计——张晓辉,学习笔记
热门文章
- Everything+Wox介绍和使用方式
- 打印机服务器显示未连接,解决win10打印机提示“无法连接打印机 后台处理程序未运行”的方法...
- 随机森林oob_score及oob判断特征重要性
- linux 公社资料
- 前言,flutter页面切换动画
- 炎炎夏日送清凉,转发集赞得T恤,51CTO定制T恤免费送了
- 苹果手机如何深度清理_手机深度清理app
- 虚幻引擎4初探(UE4)
- 测试用例方法--错误推测法
- html设置文字超过字数_CSS限制字数,超出部份显示点点点...