一直苦于沒有好的文件瀏覽器,別人所稱道的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>