网上流传的那个nerdtree的安装方法并不是很实用,因为NERDTREE是依赖pathogen插件管理器的。如果没有安装pathogen的话,直接安装NERDTree是会报函数为声明之类的错误的
我们首先来介绍这款用来管理插件的插件——pathogen。
项目地址 https://github.com/tpope/vim-pathogen
官网 http://www.vim.org/scripts/script.php?script_id=2332
一个插件包往往具备多种功能,每个文件根据Vim的路径约定会放置到不同的目录下,通用插件放到plugin下,语法高亮插件放到syntax下,自动加载插件放到autoload下,文件类型插件放到ftplugin下,编码格式插件的放到indent下……如果你是重度插件用户,你会发现在.vim主目录下会有一堆文件夹,无论是你想要安装新插件,还是想删除旧插件,都非常麻烦,你不得不在每个文件夹下找相关的vim文件。
pathogen是管理插件的插件,主要用来解决上述问题。pathogen采用了bundle的概念来管理插件,如果你熟悉OSGi或OS X,那么对bundle就不会陌生。OSGi以bundle的形式封装Java程序和资源文件,而OS X中的大部分应用程序都是bundle,正是bundle的概念让OSGi可以动态管理Java组件,OS X安装大部分程序都是“绿色安装”。
pathogen在.vim目录下建立bundle文件,所有的插件都会在该目录下管理。当Vim启动时,会自动执行runtimepath(rtp)列表中所包含文件夹下的vim脚本,pathogen会在启动时把./vim/bundle下的文件夹中的插件按照一定顺序递归加载到rtp中,这样Vim启动时,通过pathogen管理的插件就生效了。
有了pathogen之后,一般.vim文件夹下只有三个文件夹:autoload、bundle和doc,其他插件将被安装在bundle文件夹下
在.vim文件夹下建立autoload和bundle目录
从下载地址获取pathogen.vim文件,将其复制到autoload目录下
在.vimrc文件中增加如下代码:
call pathogen#infect()
——其实就是把pathogen.vim cp到~/.vim/autoload里就好了。。
新插件安装到bundle目录下后,如果插件中包含doc,则需要在Vim中运行:Helptags来生成在线帮助tags。
官网 http://www.vim.org/scripts/script.php?script_id=1658
项目 https://github.com/scrooloose/nerdtree
NERDTree是Vim最常用的插件之一,可以在Vim运行时显示目录和文件结构,类似TextMate左侧的文件浏览器,但操作起来更为方便,你可以在手不离开键盘的情况下快速浏览文件,并在文件和文件夹之间进行切换。
方法1,这个 是git上给出的安装方法
##Installation
##pathogen.vim is the recommended way to install nerdtree.
cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git
##Then reload vim, run :Helptags, and check out :help ##NERD_tree.txt.
下载完成后,在bundle下会多出一个nerdtree的文件夹,所有相关插件都在该文件夹下
在Vim中运行:Helptags来生成NERDTree的在线帮助tags
4、使用说明
打开Vim,输入:NERDTree,即可呼出执行Vim命令的当前目录的文件目录。为了方便使用,我在.vimrc中定义了快捷键,可以用Ctrl+t打开NERDTree,你可以定义自己习惯的快捷键。
NERDTree提供了丰富的键盘操作方式来浏览和打开文件,我简单介绍一些常用的快捷键:
和编辑文件一样,通过h j k l移动光标定位
o 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中
go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能
i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能
t 在标签页中打开
T 在后台标签页中打开
p 到上层目录
P 到根目录
K 到同目录第一个节点
J 到同目录最后一个节点
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
q 关闭
loaded_nerd_tree 不使用NerdTree脚本
NERDChristmasTree 让Tree把自己给装饰得多姿多彩漂亮点
NERDTreeAutoCenter 控制当光标移动超过一定距离时,是否自动将焦点调整到屏中心
NERDTreeAutoCenterThreshold 与NERDTreeAutoCenter配合使用
NERDTreeCaseSensitiveSort 排序时是否大小写敏感
NERDTreeChDirMode 确定是否改变Vim的CWD
NERDTreeHighlightCursorline 是否高亮显示光标所在行
NERDTreeHijackNetrw 是否使用:edit命令时打开第二NerdTree
NERDTreeIgnore 默认的“无视”文件
NERDTreeBookmarksFile 指定书签文件
NERDTreeMouseMode 指定鼠标模式(1.双击打开;2.单目录双文件;3.单击打开)
NERDTreeQuitOnOpen 打开文件后是否关闭NerdTree窗口
NERDTreeShowBookmarks 是否默认显示书签列表
NERDTreeShowFiles 是否默认显示文件
NERDTreeShowHidden 是否默认显示隐藏文件
NERDTreeShowLineNumbers 是否默认显示行号
NERDTreeSortOrder 排序规则
NERDTreeStatusline 窗口状态栏
NERDTreeWinPos 窗口位置(’left’ or ‘right’)
NERDTreeWinSize 窗口宽