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 [ | ]
59 打开一个Nerdtree,根结点由参数指定,不指定参数就是以当前目录为根结点
60 :NERDTreeFromBookmark
61 打开一个Nerdtree,根结点由参数所指定的书签
62 :NERDTreeToggle [ | ]
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
86 将选中结点添加到书签列表中,并命名为name(书签名不可包含空格);
87 如与现有书签重名,则覆盖现有书签。
88 :BookmarkToRoot
89 以指定目录书签或文件书签的父目录作为根结点显示NerdTree
90 :RevealBookmark
91 如果指定书签已经存在于当前目录树下,打开它的上层结点并选中该书签
92 :OpenBookmark
93 打开指定的文件。(参数必须是文件书签)
94 如果该文件在当前的目录树下,则打开它的上层结点并选中该书签
95 :ClearBookmarks []
96 清除指定书签;如未指定参数,则清除所有书签
97 :ClearAllBookmarks
98 清除所有书签
99 :ReadBookmarks
100 重新读入'NERDTreeBookmarksFile'中的所有书签
101
102 2.2.3.无效书签
103 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 如果监测到无效书签,脚本就会发布一个错误消息并将无效书签置为不可用;
105 无效书签将被移到书签文件的最后,在有效书签和无效书签之间有一个空行。
106 书签文件中的每一行代表一个书签,格式是
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 ...跳到当前目录下同级的前一个结点
135 ...跳到当前目录下同级的后一个结点
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.'DataNerdBookmarks.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 f :NERDTreeToggle