Vim 中文件目录浏览插件——NERD tree

在windows中用了source insight, 在linux中使用vim,刚开始很不希望,不过越来越感觉到它的强大的功能。专门为程序员提供的一款编辑器。再加GDB强大的调试功能,使我这么快喜欢上了linux中的开发。

 
vim目录树插件NERD tree 可以可以列出文件目录结构,方便文件打开操作。
 

安装方法如下:

1.下载插件文件 

     http://www.vim.org/scripts/script.php?script_id=1658

2. 将文档解压缩至~/.vim目录

    VIM的配置文件放在.vimrc(个人的), /etc/vimrc(系统全局的) , 如果根目录中没有.vimrc文件,可以cp /etc/vimrc ~/.vimrc ,在此文件可以       添加个人配置命令。

3. 在vim中 :NERDTree ,就可以列出当前文件的树状结构。

 

转载一篇NERD_帮助手册翻译的文章

目录
  2 ================================================================================
  3 1.简介
  4 2.功能
  5   2.1.全局命令
  6   2.2.书签
  7     2.2.1.书签表
  8     2.2.2.书签命令
  9     2.2.3.无效书签
 10   2.3.Nerdtree映射
 11   2.4.文件系统菜单
 12 3.选项
 13   3.1.选项总结
 14   3.2.选项明细
 15 
 16 
 17 1.简介
 18 --------------------------------------------------------------------------------
 19 Nerd tree可以让你浏览文件系统并打开文件或目录。
 20 你可以通过键盘或鼠标控制它以树状图显示文件系统,也可以在其中进行一些简单的文件系统操作。
 21 
 22 nerdtree提供如下功能及特性:
 23 *以继承树的形式显示文件和目录
 24 *对如下类型的文件进行不同的高亮显示
 25  *文件
 26  *目录
 27  *sym-links
 28  *快捷方式
 29  *只读文件
 30  *可执行文件
 31 *提供许多映射来控制树状结构
 32  *对展开/收拢/浏览目录结点的映射
 33  *对在新的或已存在的窗口或Tab页中打开文件的映射
 34  *对改变根结点的映射
 35  *Mappings to navigate around the tree
 36 *可以将文件和目录添加到收藏夹
 37 *可以用鼠标进行大部分的树状结构导航
 38 *对树状结构内容的过滤(可在运行时切换)
 39  *自定义文件过滤器可以阻止某些文件(比如vim备份文件等)的显示
 40  *可选是否显示隐藏文件
 41  *可选不显示文件只显示目录
 42 *提供文本文件系统菜单来创建/删除/移动/复制目录或文件
 43 *可以自定义Nerd窗口的位置和大小
 44 *可以自定义结点排序方式
 45 *当你浏览文件系统的时候就会有一个文件系统的模型被创建或维护。这样做有几个优点:
 46  *所有文件系统信息都被缓存了,有需要的时候只要重新读入缓存
 47  *如果重新浏览之后访问过的tree的一部分,结点就会以上次保持的展开或合拢的样子显示
 48 *该脚本能记住光标位置和窗口位置,所以可以用NERDTreeToggle来切换tree的显示与隐藏
 49 *对于多Tab,可以共享一个Tree,也可以各自拥有各自的tree,还可以混合以上两种方式
 50 *默认情况下,该脚本覆盖vim的默认文件浏览器(netrw),所以如果直接输入:edit命令也会用nerd树打开
 51 
 52 
 53 
 54 2.功能
 55 --------------------------------------------------------------------------------
 56   2.1.全局命令
 57   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 58   :NERDTree [<start-directory> | <bookmark>]
 59       打开一个Nerdtree,根结点由参数指定,不指定参数就是以当前目录为根结点
 60   :NERDTreeFromBookmark <bookmark>
 61       打开一个Nerdtree,根结点由参数所指定的书签
 62   :NERDTreeToggle [<start-directory> | <bookmark>]
 63       在当前Tab中如果Nerdtree已经存在,就切换显示与隐藏;
 64       如果不存在,就相当于执行:NERDTree命令
 65   :NERDTreeMirror
 66       从另一个Tab中共享一个NerdTree过来(在当前Tab的Tree所作的改变也反应到原Tab中)
 67       如果总共只有一个Tree,就直接共享;如果不止一个,就会询问共享哪个
 68   :NERDTreeClose
 69       在当前Tab中关闭Tree
 70 
 71   2.2.书签
 72   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 73   在NerdTree中,书签用于标记某个感兴趣的文件或目录,比如可以用书签标记所有Project目录
 74 
 75     2.2.1.书签表
 76     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 77     如果书签被激活,则显示于树状图的上方
 78     可以双击或用NERDTree-o来激活选中文件
 79     可以用NERDTree-t映射使选中文件用新Tab打开,并跳到新tab页
 80     可以用NERDTree-T映射使选中文件用新Tab打开,但不跳到新Tab页
 81 
 82     2.2.2.书签命令
 83     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 84     以下命令只在在Nerdtree的buffer中有效
 85     :Bookmark <name>
 86         将选中结点添加到书签列表中,并命名为name(书签名不可包含空格);
 87         如与现有书签重名,则覆盖现有书签。
 88     :BookmarkToRoot <bookmark>
 89         以指定目录书签或文件书签的父目录作为根结点显示NerdTree
 90     :RevealBookmark <bookmark>
 91         如果指定书签已经存在于当前目录树下,打开它的上层结点并选中该书签 
 92     :OpenBookmark <bookmark>
 93         打开指定的文件。(参数必须是文件书签)
 94         如果该文件在当前的目录树下,则打开它的上层结点并选中该书签
 95     :ClearBookmarks [<bookmarks>]
 96         清除指定书签;如未指定参数,则清除所有书签
 97     :ClearAllBookmarks
 98         清除所有书签
 99     :ReadBookmarks
100         重新读入‘NERDTreeBookmarksFile‘中的所有书签
101 
102     2.2.3.无效书签
103     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104     如果监测到无效书签,脚本就会发布一个错误消息并将无效书签置为不可用;
105     无效书签将被移到书签文件的最后,在有效书签和无效书签之间有一个空行。
106     书签文件中的每一行代表一个书签,格式是<bookmark name><space><full path to the bookmark location>
107     如果修正了某个无效书签,则可以重启vim或使用:ReadBookmarks命令重新读入书签信息
108 
109   2.3.Nerdtree映射
110   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
111   o.......在已有窗口中打开文件、目录或书签,并跳到该窗口   .....|NERDTree-o|  
112   go......在已有窗口中打开文件、目录或书签,但不跳到该窗口 .....|NERDTree-go| 
113   t.......在新Tab中打开选中文件/书签,并跳到新Tab          .....|NERDTree-t|  
114   T.......在新Tab中打开选中文件/书签,但不跳到新Tab        .....|NERDTree-T|  
115   i.......split一个新窗口打开选中文件,并跳到该窗口        .....|NERDTree-i|  
116   gi......split一个新窗口打开选中文件,但不跳到该窗口      .....|NERDTree-gi| 
117   s.......vsp一个新窗口打开选中文件,并跳到该窗口          .....|NERDTree-s|  
118   gs......vsp一个新窗口打开选中文件,但不跳到该窗口        .....|NERDTree-gs| 
119   !.......执行当前文件                                     .....|NERDTree-!|  
120   O.......递归打开选中结点下的所有目录                     .....|NERDTree-O|  
121   x.......合拢选中结点的父目录                             .....|NERDTree-x|  
122   X.......递归合拢选中结点下的所有目录                     .....|NERDTree-X|  
123   e.......Edit the current dif                             .....|NERDTree-e|  
124 
125   双击......相当于NERDTree-o
126   中键......对文件相当于NERDTree-i,对目录相当于NERDTree-e
127 
128   D.......删除当前书签
129           
130   P.......跳到根结点
131   p.......跳到父结点
132   K.......跳到当前目录下同级的第一个结点
133   J.......跳到当前目录下同级的最后一个结点
134   <C-j>...跳到当前目录下同级的前一个结点
135   <C-k>...跳到当前目录下同级的后一个结点
136           
137   C.......将选中目录或选中文件的父目录设为根结点
138   u.......将当前根结点的父目录设为根目录,并变成合拢原根结点
139   U.......将当前根结点的父目录设为根目录,但保持展开原根结点
140   r.......递归刷新选中目录
141   R.......递归刷新根结点
142   m.......显示文件系统菜单
143   cd......将CWD设为选中目录
144           
145   I.......切换是否显示隐藏文件
146   f.......切换是否使用文件过滤器
147   F.......切换是否显示文件
148   B.......切换是否显示书签
149           
150   q.......关闭NerdTree窗口
151   ?.......切换是否显示Quick Help
152          
153   
154 
155   2.4.文件系统菜单
156   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157   帮助说中包含新建、复制、移动、删除四种命令,但copy只支持*nix系统
158 
159 3.自定义选项
160 --------------------------------------------------------------------------------
161 loaded_nerd_tree            不使用NerdTree脚本
162 NERDChristmasTree           让Tree把自己给装饰得多姿多彩漂亮点
163 NERDTreeAutoCenter          控制当光标移动超过一定距离时,是否自动将焦点调整到屏中心
164 NERDTreeAutoCenterThreshold 与NERDTreeAutoCenter配合使用
165 NERDTreeCaseSensitiveSort   排序时是否大小写敏感
166 NERDTreeChDirMode           确定是否改变Vim的CWD
167 NERDTreeHighlightCursorline 是否高亮显示光标所在行
168 NERDTreeHijackNetrw         是否使用:edit命令时打开第二NerdTree
169 NERDTreeIgnore              默认的“无视”文件
170 NERDTreeBookmarksFile       指定书签文件
171 NERDTreeMouseMode           指定鼠标模式(1.双击打开;2.单目录双文件;3.单击打开)
172 NERDTreeQuitOnOpen          打开文件后是否关闭NerdTree窗口
173 NERDTreeShowBookmarks       是否默认显示书签列表
174 NERDTreeShowFiles           是否默认显示文件
175 NERDTreeShowHidden          是否默认显示隐藏文件
176 NERDTreeShowLineNumbers     是否默认显示行号
177 NERDTreeSortOrder           排序规则
178 NERDTreeStatusline          窗口状态栏
179 NERDTreeWinPos              窗口位置(‘left‘ or ‘right‘)
180 NERDTreeWinSize             窗口宽

我的配置:
 1 "NERD Tree
 2 let NERDChristmasTree=1
 3 let NERDTreeAutoCenter=1
 4 let NERDTreeBookmarksFile=$VIM.‘\Data\NerdBookmarks.txt‘
 5 let NERDTreeMouseMode=2
 6 let NERDTreeShowBookmarks=1
 7 let NERDTreeShowFiles=1
 8 let NERDTreeShowHidden=1
 9 let NERDTreeShowLineNumbers=1
10 let NERDTreeWinPos=‘left‘
11 let NERDTreeWinSize=31
12 nnoremap <silent> <leader>f :NERDTreeToggle<CR>

http://www.cppblog.com/deane/articles/109378.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。