一直苦于沒有好的文件瀏覽器,別人所稱道的WinManager我也不習(xí)慣不喜歡,雖然聽說過NerdTree卻也因?yàn)橛X得不會怎么樣而沒有試用。這次實(shí)在忍不過了,一試之下才發(fā)現(xiàn),原來還是很趁手滴——到底還是樹狀顯示方式好啊……比netrw方便……
仔細(xì)看了一遍幫助,好多快捷鍵!沒用熟了還真記不住。為了哀悼我那已成天外飛仙的英語,將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.文件系統(tǒng)菜單
12 3.選項(xiàng)
13 3.1.選項(xiàng)總結(jié)
14 3.2.選項(xiàng)明細(xì)
15
16
17 1.簡介
18 --------------------------------------------------------------------------------
19 Nerd tree可以讓你瀏覽文件系統(tǒng)并打開文件或目錄。
20 你可以通過鍵盤或鼠標(biāo)控制它以樹狀圖顯示文件系統(tǒng),也可以在其中進(jìn)行一些簡單的文件系統(tǒng)操作。
21
22 nerdtree提供如下功能及特性:
23 *以繼承樹的形式顯示文件和目錄
24 *對如下類型的文件進(jìn)行不同的高亮顯示
25 *文件
26 *目錄
27 *sym-links
28 *快捷方式
29 *只讀文件
30 *可執(zhí)行文件
31 *提供許多映射來控制樹狀結(jié)構(gòu)
32 *對展開/收攏/瀏覽目錄結(jié)點(diǎn)的映射
33 *對在新的或已存在的窗口或Tab頁中打開文件的映射
34 *對改變根結(jié)點(diǎn)的映射
35 *Mappings to navigate around the tree
36 *可以將文件和目錄添加到收藏夾
37 *可以用鼠標(biāo)進(jìn)行大部分的樹狀結(jié)構(gòu)導(dǎo)航
38 *對樹狀結(jié)構(gòu)內(nèi)容的過濾(可在運(yùn)行時(shí)切換)
39 *自定義文件過濾器可以阻止某些文件(比如vim備份文件等)的顯示
40 *可選是否顯示隱藏文件
41 *可選不顯示文件只顯示目錄
42 *提供文本文件系統(tǒng)菜單來創(chuàng)建/刪除/移動/復(fù)制目錄或文件
43 *可以自定義Nerd窗口的位置和大小
44 *可以自定義結(jié)點(diǎn)排序方式
45 *當(dāng)你瀏覽文件系統(tǒng)的時(shí)候就會有一個(gè)文件系統(tǒng)的模型被創(chuàng)建或維護(hù)。這樣做有幾個(gè)優(yōu)點(diǎn):
46 *所有文件系統(tǒng)信息都被緩存了,有需要的時(shí)候只要重新讀入緩存
47 *如果重新瀏覽之后訪問過的tree的一部分,結(jié)點(diǎn)就會以上次保持的展開或合攏的樣子顯示
48 *該腳本能記住光標(biāo)位置和窗口位置,所以可以用NERDTreeToggle來切換tree的顯示與隱藏
49 *對于多Tab,可以共享一個(gè)Tree,也可以各自擁有各自的tree,還可以混合以上兩種方式
50 *默認(rèn)情況下,該腳本覆蓋vim的默認(rèn)文件瀏覽器(netrw),所以如果直接輸入:edit命令也會用nerd樹打開
51
52
53
54 2.功能
55 --------------------------------------------------------------------------------
56 2.1.全局命令
57 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
58 :NERDTree [<start-directory> | <bookmark>]
59 打開一個(gè)Nerdtree,根結(jié)點(diǎn)由參數(shù)指定,不指定參數(shù)就是以當(dāng)前目錄為根結(jié)點(diǎn)
60 :NERDTreeFromBookmark <bookmark>
61 打開一個(gè)Nerdtree,根結(jié)點(diǎn)由參數(shù)所指定的書簽
62 :NERDTreeToggle [<start-directory> | <bookmark>]
63 在當(dāng)前Tab中如果Nerdtree已經(jīng)存在,就切換顯示與隱藏;
64 如果不存在,就相當(dāng)于執(zhí)行:NERDTree命令
65 :NERDTreeMirror
66 從另一個(gè)Tab中共享一個(gè)NerdTree過來(在當(dāng)前Tab的Tree所作的改變也反應(yīng)到原Tab中)
67 如果總共只有一個(gè)Tree,就直接共享;如果不止一個(gè),就會詢問共享哪個(gè)
68 :NERDTreeClose
69 在當(dāng)前Tab中關(guān)閉Tree
70
71 2.2.書簽
72 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
73 在NerdTree中,書簽用于標(biāo)記某個(gè)感興趣的文件或目錄,比如可以用書簽標(biāo)記所有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 將選中結(jié)點(diǎn)添加到書簽列表中,并命名為name(書簽名不可包含空格);
87 如與現(xiàn)有書簽重名,則覆蓋現(xiàn)有書簽。
88 :BookmarkToRoot <bookmark>
89 以指定目錄書簽或文件書簽的父目錄作為根結(jié)點(diǎn)顯示NerdTree
90 :RevealBookmark <bookmark>
91 如果指定書簽已經(jīng)存在于當(dāng)前目錄樹下,打開它的上層結(jié)點(diǎn)并選中該書簽
92 :OpenBookmark <bookmark>
93 打開指定的文件。(參數(shù)必須是文件書簽)
94 如果該文件在當(dāng)前的目錄樹下,則打開它的上層結(jié)點(diǎn)并選中該書簽
95 :ClearBookmarks [<bookmarks>]
96 清除指定書簽;如未指定參數(shù),則清除所有書簽
97 :ClearAllBookmarks
98 清除所有書簽
99 :ReadBookmarks
100 重新讀入'NERDTreeBookmarksFile'中的所有書簽
101
102 2.2.3.無效書簽
103 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 如果監(jiān)測到無效書簽,腳本就會發(fā)布一個(gè)錯(cuò)誤消息并將無效書簽置為不可用;
105 無效書簽將被移到書簽文件的最后,在有效書簽和無效書簽之間有一個(gè)空行。
106 書簽文件中的每一行代表一個(gè)書簽,格式是<bookmark name><space><full path to the bookmark location>
107 如果修正了某個(gè)無效書簽,則可以重啟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一個(gè)新窗口打開選中文件,并跳到該窗口 .....|NERDTree-i|
116 gi......split一個(gè)新窗口打開選中文件,但不跳到該窗口 .....|NERDTree-gi|
117 s.......vsp一個(gè)新窗口打開選中文件,并跳到該窗口 .....|NERDTree-s|
118 gs......vsp一個(gè)新窗口打開選中文件,但不跳到該窗口 .....|NERDTree-gs|
119 !.......執(zhí)行當(dāng)前文件 .....|NERDTree-!|
120 O.......遞歸打開選中結(jié)點(diǎn)下的所有目錄 .....|NERDTree-O|
121 x.......合攏選中結(jié)點(diǎn)的父目錄 .....|NERDTree-x|
122 X.......遞歸合攏選中結(jié)點(diǎn)下的所有目錄 .....|NERDTree-X|
123 e.......Edit the current dif .....|NERDTree-e|
124
125 雙擊......相當(dāng)于NERDTree-o
126 中鍵......對文件相當(dāng)于NERDTree-i,對目錄相當(dāng)于NERDTree-e
127
128 D.......刪除當(dāng)前書簽
129
130 P.......跳到根結(jié)點(diǎn)
131 p.......跳到父結(jié)點(diǎn)
132 K.......跳到當(dāng)前目錄下同級的第一個(gè)結(jié)點(diǎn)
133 J.......跳到當(dāng)前目錄下同級的最后一個(gè)結(jié)點(diǎn)
134 <C-j>...跳到當(dāng)前目錄下同級的前一個(gè)結(jié)點(diǎn)
135 <C-k>...跳到當(dāng)前目錄下同級的后一個(gè)結(jié)點(diǎn)
136
137 C.......將選中目錄或選中文件的父目錄設(shè)為根結(jié)點(diǎn)
138 u.......將當(dāng)前根結(jié)點(diǎn)的父目錄設(shè)為根目錄,并變成合攏原根結(jié)點(diǎn)
139 U.......將當(dāng)前根結(jié)點(diǎn)的父目錄設(shè)為根目錄,但保持展開原根結(jié)點(diǎn)
140 r.......遞歸刷新選中目錄
141 R.......遞歸刷新根結(jié)點(diǎn)
142 m.......顯示文件系統(tǒng)菜單
143 cd......將CWD設(shè)為選中目錄
144
145 I.......切換是否顯示隱藏文件
146 f.......切換是否使用文件過濾器
147 F.......切換是否顯示文件
148 B.......切換是否顯示書簽
149
150 q.......關(guān)閉NerdTree窗口
151 ?.......切換是否顯示Quick Help
152
153
154
155 2.4.文件系統(tǒng)菜單
156 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157 幫助說中包含新建、復(fù)制、移動、刪除四種命令,但copy只支持*nix系統(tǒng)
158
159 3.自定義選項(xiàng)
160 --------------------------------------------------------------------------------
161 loaded_nerd_tree 不使用NerdTree腳本
162 NERDChristmasTree 讓Tree把自己給裝飾得多姿多彩漂亮點(diǎn)
163 NERDTreeAutoCenter 控制當(dāng)光標(biāo)移動超過一定距離時(shí),是否自動將焦點(diǎn)調(diào)整到屏中心
164 NERDTreeAutoCenterThreshold 與NERDTreeAutoCenter配合使用
165 NERDTreeCaseSensitiveSort 排序時(shí)是否大小寫敏感
166 NERDTreeChDirMode 確定是否改變Vim的CWD
167 NERDTreeHighlightCursorline 是否高亮顯示光標(biāo)所在行
168 NERDTreeHijackNetrw 是否使用:edit命令時(shí)打開第二NerdTree
169 NERDTreeIgnore 默認(rèn)的“無視”文件
170 NERDTreeBookmarksFile 指定書簽文件
171 NERDTreeMouseMode 指定鼠標(biāo)模式(1.雙擊打開;2.單目錄雙文件;3.單擊打開)
172 NERDTreeQuitOnOpen 打開文件后是否關(guān)閉NerdTree窗口
173 NERDTreeShowBookmarks 是否默認(rèn)顯示書簽列表
174 NERDTreeShowFiles 是否默認(rèn)顯示文件
175 NERDTreeShowHidden 是否默認(rèn)顯示隱藏文件
176 NERDTreeShowLineNumbers 是否默認(rèn)顯示行號
177 NERDTreeSortOrder 排序規(guī)則
178 NERDTreeStatusline 窗口狀態(tài)欄
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>