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. ...
随机推荐
- codeforces 1251D Salary Changing (二分+贪心)
(点击此处查看原题) 题意分析 一共有s元钱,要用这些钱给n个人发工资,发给每个人的工资si有最少和最多限制 si ∈[li,ri],在发给n个人的总工资小于s的情况下,要求发给n个人中的工资的中位数 ...
- 7.Linux查找目录下的所有文件中是否含有某个字符串
grep -rn "map" * 说明:-r 是递归查找-n 是显示行号* : 表示当前目录所有文件,也可以是某个文件名
- 怎样限制第三方Cookie
使用Cookie的 SameSite 属性. 1. SameSite=Strict; 这个模式下, 服务器将会完全禁止第三方Cookie, 在跨站点时, 任何情况下都不会发送Cookie, 也就是说, ...
- iOS 定义多个参数函数的写法
多个参数的写法 (方法的数据类型)函数名:(参数1数据类型)参数1的数值的名字 参数2的名字: (参数2数据类型) 参数2值的名字 …. ; 如 : 有三个参数 -(void)getdetailI ...
- ThreadPoolExecutor的runState和workCount变量怎么存储?
在阅读Java线程池ThreadPoolExecutor源码的时候,发现它很巧妙地把线程池状态runState和线程数workCount两个变量存放在了一个int型变量里面. 我们先看一个数值,如下是 ...
- MySQL下载安装图文
一. MySQL下载 1. 进入MySQL官网官网地址:https://www.mysql.com/ 2. 点击DOWNLOADS 3. 点击Community(GPL) Downloads 4. 找 ...
- CSS 定位 四种定位
absolute 生成绝对定位的元素,相对于static定位以外的第一个父元素进行定位.元素的位置通过“left”,“top”,“right”以及“bottom”属性进行定位. fixed 生成固定 ...
- java web开发跨域问题
分布式环境,前后端分离背景下跨域问题 1.1 设置页面document.domain去把2个页面之间的跨域交互统一 一级域名相同的情况下 调用者和页面提供者进行一个协调 页面提供者要在document ...
- 安卓进阶之自定义View
目录 安卓进阶之自定义View 自定义View的工作流程和内容 工作流程 测量阶段和布局阶段的工作内容 View 和 ViewGroup 在测量阶段和布局阶段的区别 绘制阶段的工作内容 上手:实现继承 ...
- hadoop中hive的属性
1.在hive中是可以删除文件的: hive> dfs -rm -R /u2.txt > ; Deleted /u2.txt 2.hive 中的default数据库 <propert ...