vim 插件安装
一、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文件中设置快捷键:
- 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下载完毕后,就可以使用了。
十款优秀的插件:
https://www.cnblogs.com/linuxprobe/p/5926821.html
来源:https://blog.csdn.net/zhaoyw2008/article/details/8012757
vim 插件安装的更多相关文章
- vim插件安装总结
vim插件安装总结 vim 插件 vundle 插件对于vim来说是一个杀手级别的神器助手,能自动补全,语法高亮,文件搜索等等,有效地提升了编程效率.下面就个人的一些安装和使用进行一个总结. 自动管理 ...
- Eclipse vim插件安装使用
在eclipse移动关闭位置感觉非常不爽,经常要用到方向键和鼠标,导致经常要移来移去.果断受不了了,去网上搜了下发现eclipse有许多vim插件可以使用.有一个大家都比较推荐的是 vrapper ...
- 打造linux下的source insight——vim插件安装使用总结
source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...
- 【原创】vim插件安装简介
一.安装vundle(vim插件管理软件): git clone https://github.com/VundleVim/Vundle.vim 拷贝目录到 ~/.vim/bundle/Vundle. ...
- Linux c++ vim环境搭建系列(4)——vim插件安装配置使用
4. 插件 主要是c++相关的. ~/.vimrc文件在GitHub上有:https://github.com/whuwzp/vim_config 以下内容参考: https://github.com ...
- Vrapper-Eclipse的vim插件安装方法
Vrapper是一款Eclipse的插件,使在Eclipse下编辑文档时可以像使用Vim一样. 它有两种安装方法,在线安装和安装包安装: 在线安装: 打开Eclipse,Help->Instal ...
- MarkDown的vim插件安装
作用:可以使markdown语法高亮.1.安装.使用pathogen插件管理. cd ~/.vim/bundle git clone https://github.com/plasticb ...
- Vim插件安装
一.常用的插件 sudo apt-get install vim vim-scripts vim-docsudo apt-get install ctagssudo apt-get install v ...
- ubuntu vim 插件安装
参考:http://blog.sina.com.cn/s/blog_00f0230d0100y7ih.html 不过由于时间久远,有些已经失效,以上是我的修改过程 参考:https://github. ...
随机推荐
- python学习-3 python基础-1基础知识和解释器
1.基础知识 ~后缀名是可以是任意的 ~导入模块时,如果不是.py就会报错 =>>所以尽量后缀名携程.py 2.执行方式 -python解释器 3. #!/usr/bin/env py ...
- 操作系统diy-1-资料整理
已经研三了,前段时间校招找了份内核开发的工作,正好有时间做这个以前一直想做的事情.听说写操作系统要花很多时间了解学习计算机方方面面的知识,之前也查过相关的资料,关注过mit的操作系统公开课程.这几天准 ...
- axios 跨域携带cookie设置
import axios from 'axios' // 创建axios实例 const service = axios.create({ baseURL: process.env.BASE_API, ...
- Nopcommerce 项目添加插件
插件是用来扩展nopCommerce功能的.nopCommerce拥有多种类型的插件.例如:支付方式(PayPal),税务机构,送货方式计算方法(UPS, USP, FedEx),小部件(如“在线聊天 ...
- BASE64 Encode Decode
package com.humi.encryption; import java.io.IOException; import java.io.UnsupportedEncodingException ...
- docker第二篇 Docker基础用法
Docker中的容器 lxc -> libcontainer -> runC OCI (Open Container Initiative) 由Linux基金会主导于2015年6月创立 作 ...
- wpf win10 popup位置偏移问题
同样问题参照: https://stackoverflow.com/questions/18113597/wpf-handedness-with-popups 解决方案: private static ...
- 一个用beego写的API项目
beego-api 一个使用beego写的API 支持Api日志 支持Swagger注解文档 项目地址: https://github.com/eternity-wdd/beego-api 使用说明 ...
- Windows Phone惨遭微软放弃
微软在电脑操作系统上的用户保有量一直处于遥遥领先的地位,特别是最新的Windows 10系统,一经推出,市场表现就比较好,但相比起来,微软的手机操作系统Windows Phone就被贴上“差等生”的标 ...
- 浅谈nginx简介和应用场景
简介 nginx是一款轻量级的web服务器,它是由俄罗斯的程序设计师伊戈尔·西索夫所开发. nginx相比于Tomcat性能十分优秀,能够支撑5w的并发连接(而Tomcat只能支撑200-400),并 ...