NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作。NERDTree源码在/preservim/nerdtree。
这里通过Vundle安装NERDTree,Vundle是Vim软件包的缩写,是Vim插件管理器。Vundle源码在/VundleVim/Vundle.vim。
安装Vundle:
(1). 执行如下命令:
mkdir -p ~/.vim/bundlegit clone /VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
(2). 打开~/.vimrc,在此文件中添加内容如下:
set nocompatible " be iMproved, requiredfiletype off " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()" let Vundle manage Vundle, requiredPlugin 'VundleVim/Vundle.vim'" Keep Plugin commands between vundle#begin/end." 安装其它插件" All of your Plugins must be added before the following linecall vundle#end() " requiredfiletype plugin indent on " required
安装NERDTree:
(1). 执行如下命令:
git clone /preservim/nerdtree.git ~/.vim/bundle/nerdtree
(2). 打开~/.vimrc,在语句call vundle#end()语句前添加内容如下:
Plugin 'preservim/nerdtree'
NERDTree常用快捷键:未说明默认是在命令行模式,命令前有”:”是在底行模式下
1. 通过vim打开一个文件后,在底行模式下输入”NERDTree”后回车进入NERDTree;
2. ctrl+w+h:光标focus左侧树形结构;
3. ctrl+w+l:光标focus右侧文件显示窗口;
4. ctrl+w+w:光标自动在左右侧窗口切换;
5. ctrl+w+r:移动当前窗口的布局位置;
6. o/go:在已有窗口中打开文件,跳到/不跳到该窗口;
7. o:如果光标定位在目录上,点击”o”则会展开或合拢该目录;
8. t/T:在新的Tab中打开文件,跳到/不跳到新Tab;
9. :tabc/:tabo:关闭当前的/关闭所有其它的Tab;
10. :tabp/:tabn:跳到前一个/跳到后一个Tab;
12. i/gi:split一个新窗口并打开选中文件,跳到/不跳到该窗口;
13. s/gs:vsplit一个新窗口并打开选中文件,跳到/不跳到该窗口;
14. x:合拢当前文件或目录的父目录;
15. P/p:跳到根结点/父结点;
16. C:将选中目录或选中文件的父目录设为根结点;
17. u/U:将当前根结点的父目录设为根结点,并合拢原根结点/展开原根结点;
18. r/R:递归刷新选中目录/根结点;
19. I:切换是否显示隐藏文件;
20. q:关闭NERDTree窗口。
打开NERDTree后界面如下:
完整的~/.vimrc文件内容如下:
" 安装Vundle: 参考:/VundleVim/Vundle.vim" $ mkdir -p ~/.vim/bundle" $ git clone /VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vimset nocompatible " be iMproved, requiredfiletype off " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()" let Vundle manage Vundle, requiredPlugin 'VundleVim/Vundle.vim'" Keep Plugin commands between vundle#begin/end." 安装NERDTree" $ git clone /preservim/nerdtree.git ~/.vim/bundle/nerdtreePlugin 'preservim/nerdtree'" All of your Plugins must be added before the following linecall vundle#end() " requiredfiletype plugin indent on " required" To ignore plugin indent changes, instead use:"filetype plugin on" 语法高亮显示syntax on" 缩进设置set tabstop=8set softtabstop=8set shiftwidth=8" C代码缩进set cindent" 搜索结果高亮显示set hlsearch" 解决中文字符显示乱码set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8