pathogen
功能说明
一个插件包往往具备多种功能,每个文件根据Vim的路径约定会放置到不同的目录下,通用插件放到plugin下,语法高亮插件放到syntax下,自动加载插件放到autoload下,文件类型插件放到ftplugin下,编码格式插件的放到indent下......如果你是重度插件用户,你会发现在.vim主目录下会有一堆文件夹,无论是你想要安装新插件,还是想删除旧插件,都非常麻烦,你不得不在每个文件夹下找相关的vim文件。
pathogen是管理插件的插件,主要用来解决上述问题。pathogen在.vim
目录下建立bundle文件,所有的插件都会在该目录下管理。当Vim启动时,会自动执行runtimepath(rtp)列表中所包含文件夹下的vim脚本,pathogen会在启动时把./vim/bundle
下的文件夹中的插件按照一定顺序递归加载到rtp中,这样Vim启动时,通过pathogen管理的插件就生效了。
有了pathogen之后,一般.vim
文件夹下只有三个文件夹:autoload、bundle和doc,其他插件将被安装在bundle文件夹下。
安装
- 在
.vim
文件夹下建立autoload和bundle目录; - 下载pathogen:https://github.com/tpope/vim-pathogen;
- 把vim-pathogen/autoload/pathogen.vim文件,将其复制到.vim/autoload目录下;
- 在
.vimrc
文件中增加如下代码:call pathogen#infect().
注意事项:
新插件安装到bundle目录下后,如果插件中包含doc,则需要在Vim中运行:Helptags
来生成在线帮助tags。
NERDTree
功能说明:
NERDTree是Vim最常用的插件之一,可以在Vim运行时显示目录和文件结构,类似TextMate左侧的文件浏览器,但操作起来更为方便,你可以在手不离开键盘的情况下快速浏览文件,并在文件和文件夹之间进行切换。
安装
- 进入
.vim/bundle
目录; - 执行
git clone git://github.com/scrooloose/nerdtree.git;
- 下载完成后,在bundle下会多出一个nerdtree的文件夹,所有相关插件都在该文件夹下;
- 在Vim中运行
:Helptags
来生成NERDTree的在线帮助tags。
使用说明
打开Vim,输入:NERDTree
,即可呼出执行Vim命令的当前目录的文件目录。
NERDTree提供了丰富的键盘操作方式来浏览和打开文件,我简单介绍一些常用的快捷键:
o打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中;
go效果同上,不过光标保持在文件目录里,类似预览文件内容的功能;
i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能;
t在标签页中打开;
T在后台标签页中打开;
p到上层目录;
P到根目录;
K到同目录第一个节点;
J到同目录最后一个节点;
m显示文件系统菜单(添加、删除、移动操作);
?帮助;
q关闭。
Command-T
功能说明
Command-T是一个基于Ruby和C扩展实现的快速文件浏览的插件,类似TextMate的Go to File(Command+T呼出)功能,或Eclipse的Open Resource(Command+Shift+r)功能,可以通过模糊匹配快速定位并打开文件。
安装
- 下载最新vba文件:https://wincent.com/products/command-t;
- 在
~/.vim/bundle
目录下创建文件夹command-t; - 用Vim打开command-t-1.4.vba;
- 执行
:UseVimball ~/.vim/bundle/command-t
; -
进入ruby目录下编译C扩展(当然你需要安装ruby)
cd ~/.vim/bundle/command-t/ruby/command-t ruby extconf.rb make
如果ruby extconf.rb执行出错,请参考附录1安装ruby
使用说明:
输入:CommandT可进入文件快速定位功能,如图所示:
- ctrl+j/k 上下选择文件,选中后回车打开文件
- ctrl+t 以tab方式打开文件
- ctrl+s/v 可以水平或垂直分割窗口打开文件
- ctrl+c 退出该模式
该插件还有个常用命令,:CommandTBuffer
,可以浏览缓冲区的文件,并重新打开。操作方式同上。
注意事项
Vim版本需要支持ruby扩展。我们可以在Vim中输入:ruby 1
检查,如果出现E319: Sorry, the command is not available in this version
就表示不支持。
如果出现上述情况,我们就需要自己去编译能够支持ruby的Vim,嫌麻烦的话可以直接安装vim-nox,自带Ruby支持,在Ubuntu下安装命令如下:sudo apt-get install vim-nox
。
执行ruby extconf.rb
命令时如果出现找不到mkmf包的情况,说明你需要安装ruby-dev的包,在Ubuntu下安装命令如下:sudo apt-get install ruby1.8-dev
。
Powerline
功能说明:
Powerline是Vim的一个非常漂亮的状态栏插件,安装了Powerline之后,Vim底部将会出现一个增强型状态栏,当Vim处于NORMAL、INSERT、BLOCK等状态时,状态栏会呈现不同的颜色,同时状态栏还会显示当前编辑文件的格式(uft-8等)、文件类型(Java、xml等)和光标位置等,喜欢的就装。
如图所示:
安装
- 进入
.vim/bundle
目录; - 执行
git clone git://github.com/Lokaltog/vim-powerline.git;
-
在
.vimrc
中设置状态栏主题"powerline{ set guifont=PowerlineSymbols for Powerline set nocompatible set t_Co=256 let g:Powerline_symbols = 'fancy' "}
Appendix: 1:
有时候在ruby下使用gem安装包的时候,会报错如下:
ERROR: Error installing bluecloth:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.1/usr/bin/ruby
extconf.rb
mkmf.rb can't find header files for ruby at
/System/Library/Frameworks/Ruby.framework/Versions/2.1/usr/lib/ruby/ruby.h
如果是在centos等系统下面,执行命令:yum install ruby-devel
如果是在Ubuntu等系统下面,执行命令:apt-get isntall ruby-dev