2009-02-24

Vim之Nerd Tree杂草帮助



  一直苦于没有好的文件浏览器,别人所称道的WinManager我也不习惯不喜欢,虽然听说过NerdTree却也因为觉得不会怎么样而没有试用。这次实在忍不过了,一试之下才发现,原来还是很趁手滴——到底还是树状显示方式好啊……比netrw方便……
  仔细看了一遍帮助,好多快捷键!没用熟了还真记不住。为了哀悼我那已成天外飞仙的英语,将nerdtree的帮助录一部分如下,以供参考使用:

  1 目录
  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>

没有评论:

发表评论