summaryrefslogtreecommitdiff
path: root/.vim/pack/vendor/start/nerdtree/doc
diff options
context:
space:
mode:
Diffstat (limited to '.vim/pack/vendor/start/nerdtree/doc')
-rw-r--r--.vim/pack/vendor/start/nerdtree/doc/NERDTree.txt1534
-rw-r--r--.vim/pack/vendor/start/nerdtree/doc/tags143
2 files changed, 1677 insertions, 0 deletions
diff --git a/.vim/pack/vendor/start/nerdtree/doc/NERDTree.txt b/.vim/pack/vendor/start/nerdtree/doc/NERDTree.txt
new file mode 100644
index 0000000..55c25cd
--- /dev/null
+++ b/.vim/pack/vendor/start/nerdtree/doc/NERDTree.txt
@@ -0,0 +1,1534 @@
1*NERDTree.txt* A tree explorer plugin to rule the Vim world. Bwahahaha!!
2
3 # #### #### ~
4 ### \/#|### |/#### ~
5 d8 888 ##\/#/ \||/##/_/##/_# ~
6 d88 888 ee ,e e, ### \/###|/ \/ # ### ~
7 d88888 888 88b d88 88b ##_\_#\_\## | #/###_/_#### ~
8 888 888 888 888 , ## #### # \ #| / #### ##/## ~
9 888 888 888 "YeeP" __#_--###`. |{,###---###-~ ~
10 \ % @% ~
11 Y88b Y88 888'Y88 888 88e 888 88e \%@% 88P'888'Y88 ~
12 Y88b Y8 888 ,'Y 888 888D 888 888b %o% P' 888 'Y 888,8, ,e e, ,e e, ~
13 b Y88b Y 888C8 888 88" 888 8888D %@% 888 888 " d88 88b d88 88b ~
14 8b Y88b 888 ",d 888 b, 888 888P %@% 888 888 888 , 888 , ~
15 88b Y88b 888,d88 888 88b, 888 88" %@% 888 888 "YeeP" "YeeP" ~
16 , -=-%{@%-^- _ ~
17 ejm `} Reference Manual ~
18 { ~
19==============================================================================
20CONTENTS *NERDTree-contents*
21
22 1.Intro...................................|NERDTree|
23 2.Functionality provided..................|NERDTreeFunctionality|
24 2.1.Global commands...................|NERDTreeGlobalCommands|
25 2.2.Bookmarks.........................|NERDTreeBookmarks|
26 2.2.1.The bookmark table..........|NERDTreeBookmarkTable|
27 2.2.2.Bookmark commands...........|NERDTreeBookmarkCommands|
28 2.2.3.Invalid bookmarks...........|NERDTreeInvalidBookmarks|
29 2.3.NERDTree mappings.................|NERDTreeMappings|
30 2.4.The NERDTree menu.................|NERDTreeMenu|
31 3.Settings................................|NERDTreeSettings|
32 3.1.Settings summary..................|NERDTreeSettingsSummary|
33 3.2.Settings details..................|NERDTreeSettingsDetails|
34 4.The NERDTree API........................|NERDTreeAPI|
35 4.1.Key map API.......................|NERDTreeKeymapAPI|
36 4.2.Menu API..........................|NERDTreeMenuAPI|
37 4.3.Menu API..........................|NERDTreeAddPathFilter()|
38 4.4.Path Listener API.................|NERDTreePathListenerAPI|
39 5.About...................................|NERDTreeAbout|
40 6.License.................................|NERDTreeLicense|
41
42==============================================================================
431. Intro *NERDTree*
44
45What is this "NERDTree"??
46
47The NERDTree allows you to explore your filesystem and to open files and
48directories. It presents the filesystem to you in the form of a tree which you
49manipulate with the keyboard and/or mouse. It also allows you to perform
50simple filesystem operations.
51
52The following features and functionality are provided by the NERDTree:
53 * Files and directories are displayed in a hierarchical tree structure
54 * Different highlighting is provided for the following types of nodes:
55 * files
56 * directories
57 * sym-links
58 * windows .lnk files
59 * read-only files
60 * executable files
61 * Many (customisable) mappings are provided to manipulate the tree:
62 * Mappings to open/close/explore directory nodes
63 * Mappings to open files in new/existing windows/tabs
64 * Mappings to change the current root of the tree
65 * Mappings to navigate around the tree
66 * ...
67 * Directories and files can be bookmarked.
68 * Most NERDTree navigation can also be done with the mouse
69 * Filtering of tree content (can be toggled at runtime)
70 * custom file filters to prevent e.g. vim backup files being displayed
71 * optional displaying of hidden files (. files)
72 * files can be "turned off" so that only directories are displayed
73 * The position and size of the NERDTree window can be customised
74 * The order in which the nodes in the tree are listed can be customised.
75 * A model of your filesystem is created/maintained as you explore it. This
76 has several advantages:
77 * All filesystem information is cached and is only re-read on demand
78 * If you revisit a part of the tree that you left earlier in your
79 session, the directory nodes will be opened/closed as you left them
80 * The script remembers the cursor position and window position in the NERD
81 tree so you can toggle it off (or just close the tree window) and then
82 reopen it (with NERDTreeToggle) the NERDTree window will appear exactly
83 as you left it
84 * You can have a separate NERDTree for each tab, share trees across tabs,
85 or a mix of both.
86 * By default the script overrides the default file browser (netrw), so if
87 you :edit a directory a (slightly modified) NERDTree will appear in the
88 current window
89 * A programmable menu system is provided (simulates right clicking on a
90 node)
91 * one default menu plugin is provided to perform basic filesystem
92 operations (create/delete/move/copy files/directories)
93 * There's an API for adding your own keymappings
94
95
96==============================================================================
972. Functionality provided *NERDTreeFunctionality*
98
99------------------------------------------------------------------------------
1002.1. Global Commands *NERDTreeGlobalCommands*
101
102:NERDTree [<start-directory> | <bookmark>] *:NERDTree*
103 Opens a fresh NERDTree. The root of the tree depends on the argument
104 given. There are 3 cases: If no argument is given, the current directory
105 will be used. If a directory is given, that will be used. If a bookmark
106 name is given, the corresponding directory will be used. For example: >
107 :NERDTree /home/marty/vim7/src
108 :NERDTree foo (foo is the name of a bookmark)
109<
110:NERDTreeVCS [<start-directory> | <bookmark>] *:NERDTreeVCS*
111 Like |:NERDTree|, but searches up the directory tree to find the top of
112 the version control system repository, and roots the NERDTree there. It
113 works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A
114 couple of examples: >
115 :NERDTreeVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree)
116 :NERDTreeVCS (opens root of repository containing CWD)
117<
118:NERDTreeFromBookmark <bookmark> *:NERDTreeFromBookmark*
119 Opens a fresh NERDTree with the root initialized to the directory for
120 <bookmark>. The only reason to use this command over :NERDTree is for
121 the completion (which is for bookmarks rather than directories).
122
123:NERDTreeToggle [<start-directory> | <bookmark>] *:NERDTreeToggle*
124 If a NERDTree already exists for this tab, it is reopened and rendered
125 again. If <start-directory> or <bookmark> is given, the root of NERDTree
126 is set to that path. If no NERDTree exists for this tab then this command
127 acts the same as the |:NERDTree| command.
128
129:NERDTreeToggleVCS [<start-directory> | <bookmark>] *:NERDTreeToggleVCS*
130 Like |:NERDTreeToggle|, but searches up the directory tree to find the top of
131 the version control system repository, and roots the NERDTree there. It
132 works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A
133 couple of examples: >
134 :NERDTreeToggleVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree)
135 :NERDTreeToggleVCS (opens root of repository containing CWD)
136
137:NERDTreeFocus *:NERDTreeFocus*
138 Opens (or reopens) the NERDTree if it is not currently visible;
139 otherwise, the cursor is moved to the already-open NERDTree.
140
141:NERDTreeMirror *:NERDTreeMirror*
142 Shares an existing NERDTree, from another tab, in the current tab.
143 Changes made to one tree are reflected in both as they are actually the
144 same buffer.
145
146 If only one other NERDTree exists, that tree is automatically mirrored.
147 If more than one exists, the script will ask which tree to mirror.
148
149:NERDTreeClose *:NERDTreeClose*
150 Close the NERDTree in this tab.
151
152:NERDTreeFind [<path>] *:NERDTreeFind*
153 Without the optional argument, find and reveal the file for the active
154 buffer in the NERDTree window. With the <path> argument, find and
155 reveal the specified path.
156
157 Focus will be shifted to the NERDTree window, and the cursor will be
158 placed on the tree node for the determined path. If a NERDTree for the
159 current tab does not exist, a new one will be initialized.
160
161:NERDTreeCWD *:NERDTreeCWD*
162 Change the NERDTree root to the current working directory. If no
163 NERDTree exists for this tab, a new one is opened.
164
165:NERDTreeRefreshRoot *:NERDTreeRefreshRoot*
166 Refreshes the NERDTree root node.
167
168------------------------------------------------------------------------------
1692.2. Bookmarks *NERDTreeBookmarks*
170
171Bookmarks in the NERDTree are a way to tag files or directories of interest.
172For example, you could use bookmarks to tag all of your project directories.
173
174------------------------------------------------------------------------------
1752.2.1. The Bookmark Table *NERDTreeBookmarkTable*
176
177If the bookmark table is active (see |NERDTree-B| and
178|NERDTreeShowBookmarks|), it will be rendered above the tree. You can double
179click bookmarks or use the |NERDTree-o| mapping to activate them. See also,
180|NERDTree-t| and |NERDTree-T|
181
182------------------------------------------------------------------------------
1832.2.2. Bookmark commands *NERDTreeBookmarkCommands*
184
185Note: The following commands are only available within the NERDTree buffer.
186
187:Bookmark [<name>]
188 Bookmark the current node as <name>. If there is already a <name>
189 bookmark, it is overwritten. <name> must not contain spaces.
190 If <name> is not provided, it defaults to the file or directory name.
191 For directories, a trailing slash is present.
192
193:BookmarkToRoot <bookmark>
194 Make the directory corresponding to <bookmark> the new root. If a treenode
195 corresponding to <bookmark> is already cached somewhere in the tree then
196 the current tree will be used, otherwise a fresh tree will be opened.
197 Note that if <bookmark> points to a file then its parent will be used
198 instead.
199
200:RevealBookmark <bookmark>
201 If the node is cached under the current root then it will be revealed
202 (i.e. directory nodes above it will be opened) and the cursor will be
203 placed on it.
204
205:OpenBookmark <name>
206 The Bookmark named <name> is opened as if |NERDTree-o| was applied to
207 its entry in the Bookmark table. If the Bookmark points to a directory,
208 it is made the new root of the current NERDTree. If the Bookmark points
209 to a file, that file is opened for editing in another window.
210
211:ClearBookmarks [<bookmarks>]
212 Remove all the given bookmarks. If no bookmarks are given then remove all
213 bookmarks on the current node.
214
215:ClearAllBookmarks
216 Remove all bookmarks.
217
218:EditBookmarks
219 Opens the bookmarks file for manual editing, e.g. for removing invalid
220 bookmarks.
221
222:ReadBookmarks
223 Re-read the bookmarks in the |NERDTreeBookmarksFile|.
224
225See also |:NERDTree| and |:NERDTreeFromBookmark|.
226
227------------------------------------------------------------------------------
2282.2.3. Invalid Bookmarks *NERDTreeInvalidBookmarks*
229
230If invalid bookmarks are detected, the script will issue an error message and
231the invalid bookmarks will become unavailable for use.
232
233These bookmarks will still be stored in the bookmarks file (see
234|NERDTreeBookmarksFile|), down at the bottom. There will always be a blank line
235after the valid bookmarks but before the invalid ones.
236
237Each line in the bookmarks file represents one bookmark. The proper format is:
238<bookmark name><space><full path to the bookmark location>
239
240You can use the :EditBookmarks command to open the bookmarks file for editing.
241After you have corrected any invalid bookmarks, either restart vim, or run
242:ReadBookmarks from the NERDTree window.
243
244------------------------------------------------------------------------------
2452.3. NERDTree Mappings *NERDTreeMappings*
246
247Default~
248Key Description help-tag~
249
250o........Open files, directories and bookmarks......................|NERDTree-o|
251go.......Open selected file, but leave cursor in the NERDTree......|NERDTree-go|
252 Find selected bookmark directory in current NERDTree
253t........Open selected node/bookmark in a new tab...................|NERDTree-t|
254T........Same as 't' but keep the focus on the current tab..........|NERDTree-T|
255i........Open selected file in a split window.......................|NERDTree-i|
256gi.......Same as i, but leave the cursor on the NERDTree...........|NERDTree-gi|
257s........Open selected file in a new vsplit.........................|NERDTree-s|
258gs.......Same as s, but leave the cursor on the NERDTree...........|NERDTree-gs|
259<CR>.....User-definable custom open action.......................|NERDTree-<CR>|
260O........Recursively open the selected directory....................|NERDTree-O|
261x........Close the current nodes parent.............................|NERDTree-x|
262X........Recursively close all children of the current node.........|NERDTree-X|
263e........Edit the current directory.................................|NERDTree-e|
264
265double-click....same as |NERDTree-o|.
266middle-click....same as |NERDTree-i| for files, and |NERDTree-e| for directories.
267
268D........Delete the current bookmark ...............................|NERDTree-D|
269
270P........Jump to the root node......................................|NERDTree-P|
271p........Jump to current nodes parent...............................|NERDTree-p|
272K........Jump up inside directories at the current tree depth.......|NERDTree-K|
273J........Jump down inside directories at the current tree depth.....|NERDTree-J|
274<C-J>....Jump down to next sibling of the current directory.......|NERDTree-C-J|
275<C-K>....Jump up to previous sibling of the current directory.....|NERDTree-C-K|
276
277C........Change the tree root to the selected directory.............|NERDTree-C|
278u........Move the tree root up one directory........................|NERDTree-u|
279U........Same as 'u' except the old root node is left open..........|NERDTree-U|
280r........Recursively refresh the current directory..................|NERDTree-r|
281R........Recursively refresh the current root.......................|NERDTree-R|
282m........Display the NERDTree menu..................................|NERDTree-m|
283cd.......Change the CWD to the directory of the selected node......|NERDTree-cd|
284CD.......Change tree root to the CWD...............................|NERDTree-CD|
285
286I........Toggle whether hidden files displayed......................|NERDTree-I|
287f........Toggle whether the file filters are used...................|NERDTree-f|
288F........Toggle whether files are displayed.........................|NERDTree-F|
289B........Toggle whether the bookmark table is displayed.............|NERDTree-B|
290
291q........Close the NERDTree window..................................|NERDTree-q|
292A........Zoom (maximize/minimize) the NERDTree window...............|NERDTree-A|
293?........Toggle the display of the quick help.......................|NERDTree-?|
294
295------------------------------------------------------------------------------
296 *NERDTree-o*
297Default key: o
298Map setting: NERDTreeMapActivateNode
299Applies to: files and directories.
300
301If a file node is selected, it is opened in the previous window.
302
303If a directory is selected it is opened or closed depending on its current
304state.
305
306If a bookmark that links to a directory is selected then that directory
307becomes the new root.
308
309If a bookmark that links to a file is selected then that file is opened in the
310previous window.
311
312------------------------------------------------------------------------------
313 *NERDTree-go*
314Default key: go
315Map setting: NERDTreeMapPreview
316Applies to: files.
317
318If a file node or a bookmark that links to a file is selected, it is opened in
319the previous window, but the cursor does not move.
320
321If a bookmark that links to a directory is selected then that directory
322becomes the new root.
323
324The default key combo for this mapping is "g" + NERDTreeMapActivateNode (see
325|NERDTree-o|).
326
327------------------------------------------------------------------------------
328 *NERDTree-t*
329Default key: t
330Map setting: *NERDTreeMapOpenInTab*
331Applies to: files and directories.
332
333Opens the selected file in a new tab. If a directory is selected, a fresh
334NERDTree for that directory is opened in a new tab.
335
336If a bookmark which points to a directory is selected, open a NERDTree for
337that directory in a new tab. If the bookmark points to a file, open that file
338in a new tab.
339
340------------------------------------------------------------------------------
341 *NERDTree-T*
342Default key: T
343Map setting: *NERDTreeMapOpenInTabSilent*
344Applies to: files and directories.
345
346The same as |NERDTree-t| except that the focus is kept in the current tab.
347
348------------------------------------------------------------------------------
349 *NERDTree-i*
350Default key: i
351Map setting: *NERDTreeMapOpenSplit*
352Applies to: files, and bookmarks pointing to files.
353
354Opens the selected file in a new split window and puts the cursor in the new
355window.
356
357------------------------------------------------------------------------------
358 *NERDTree-gi*
359Default key: gi
360Map setting: *NERDTreeMapPreviewSplit*
361Applies to: files, and bookmarks pointing to files.
362
363The same as |NERDTree-i| except that the cursor is not moved.
364
365The default key combo for this mapping is "g" + NERDTreeMapOpenSplit (see
366|NERDTree-i|).
367
368------------------------------------------------------------------------------
369 *NERDTree-s*
370Default key: s
371Map setting: *NERDTreeMapOpenVSplit*
372Applies to: files, and bookmarks pointing to files.
373
374Opens the selected file in a new vertically split window and puts the cursor
375in the new window.
376
377------------------------------------------------------------------------------
378 *NERDTree-gs*
379Default key: gs
380Map setting: *NERDTreeMapPreviewVSplit*
381Applies to: files, and bookmarks pointing to files.
382
383The same as |NERDTree-s| except that the cursor is not moved.
384
385The default key combo for this mapping is "g" + NERDTreeMapOpenVSplit (see
386|NERDTree-s|).
387
388------------------------------------------------------------------------------
389 *NERDTree-<CR>*
390Default key: <CR>
391Map setting: *NERDTreeMapCustomOpen*
392Applies to: files, directories, and bookmarks
393
394Performs a customized open action on the selected node. This allows the user
395to define an action that behaves differently from any of the standard
396keys. See |NERDTreeCustomOpenArgs| for more details.
397------------------------------------------------------------------------------
398 *NERDTree-O*
399Default key: O
400Map setting: *NERDTreeMapOpenRecursively*
401Applies to: directories.
402
403Recursively opens the selected directory.
404
405All files and directories are cached, but if a directory would not be
406displayed due to file filters (see |NERDTreeIgnore| |NERDTree-f|) or the
407hidden file filter (see |NERDTreeShowHidden|) then its contents are not
408cached. This is handy, especially if you have .svn directories.
409
410------------------------------------------------------------------------------
411 *NERDTree-x*
412Default key: x
413Map setting: *NERDTreeMapCloseDir*
414Applies to: files and directories.
415
416Closes the parent of the selected node.
417
418------------------------------------------------------------------------------
419 *NERDTree-X*
420Default key: X
421Map setting: *NERDTreeMapCloseChildren*
422Applies to: directories.
423
424Recursively closes all children of the selected directory.
425
426Tip: To quickly "reset" the tree, use |NERDTree-P| with this mapping.
427
428------------------------------------------------------------------------------
429 *NERDTree-e*
430Default key: e
431Map setting: *NERDTreeMapOpenExpl*
432Applies to: files and directories.
433
434|:edit|s the selected directory, or the selected file's directory. This could
435result in a NERDTree or a netrw being opened, depending on
436|NERDTreeHijackNetrw|.
437
438------------------------------------------------------------------------------
439 *NERDTree-D*
440Default key: D
441Map setting: *NERDTreeMapDeleteBookmark*
442Applies to: lines in the bookmarks table
443
444Deletes the currently selected bookmark.
445
446------------------------------------------------------------------------------
447 *NERDTree-P*
448Default key: P
449Map setting: *NERDTreeMapJumpRoot*
450Applies to: no restrictions.
451
452Jump to the tree root.
453
454------------------------------------------------------------------------------
455 *NERDTree-p*
456Default key: p
457Map setting: *NERDTreeMapJumpParent*
458Applies to: files and directories.
459
460Jump to the parent node of the selected node.
461
462------------------------------------------------------------------------------
463 *NERDTree-K*
464Default key: K
465Map setting: *NERDTreeMapJumpFirstChild*
466Applies to: files and directories.
467
468Jump to the first child of the current nodes parent.
469
470If the cursor is already on the first node then do the following:
471 * loop back thru the siblings of the current nodes parent until we find an
472 open directory with children
473 * go to the first child of that node
474
475------------------------------------------------------------------------------
476 *NERDTree-J*
477Default key: J
478Map setting: *NERDTreeMapJumpLastChild*
479Applies to: files and directories.
480
481Jump to the last child of the current nodes parent.
482
483If the cursor is already on the last node then do the following:
484 * loop forward thru the siblings of the current nodes parent until we find
485 an open directory with children
486 * go to the last child of that node
487
488------------------------------------------------------------------------------
489 *NERDTree-C-J*
490Default key: <C-J>
491Map setting: *NERDTreeMapJumpNextSibling*
492Applies to: files and directories.
493
494Jump to the next sibling of the selected node.
495
496------------------------------------------------------------------------------
497 *NERDTree-C-K*
498Default key: <C-K>
499Map setting: *NERDTreeMapJumpPrevSibling*
500Applies to: files and directories.
501
502Jump to the previous sibling of the selected node.
503
504------------------------------------------------------------------------------
505 *NERDTree-C*
506Default key: C
507Map setting: *NERDTreeMapChangeRoot*
508Applies to: files and directories.
509
510Make the selected directory node the new tree root. If a file is selected, its
511parent is used.
512
513------------------------------------------------------------------------------
514 *NERDTree-u*
515Default key: u
516Map setting: *NERDTreeMapUpdir*
517Applies to: no restrictions.
518
519Move the tree root up a directory (like doing a "cd ..").
520
521------------------------------------------------------------------------------
522 *NERDTree-U*
523Default key: U
524Map setting: *NERDTreeMapUpdirKeepOpen*
525Applies to: no restrictions.
526
527Like |NERDTree-u| except that the old tree root is kept open.
528
529------------------------------------------------------------------------------
530 *NERDTree-r*
531Default key: r
532Map setting: *NERDTreeMapRefresh*
533Applies to: files and directories.
534
535If a directory is selected, recursively refresh that directory, i.e. scan the
536filesystem for changes and represent them in the tree.
537
538If a file node is selected then the above is done on it's parent.
539
540------------------------------------------------------------------------------
541 *NERDTree-R*
542Default key: R
543Map setting: *NERDTreeMapRefreshRoot*
544Applies to: no restrictions.
545
546Recursively refresh the tree root.
547
548------------------------------------------------------------------------------
549 *NERDTree-m*
550Default key: m
551Map setting: *NERDTreeMapMenu*
552Applies to: files and directories.
553
554Display the NERDTree menu. See |NERDTreeMenu| for details.
555
556------------------------------------------------------------------------------
557 *NERDTree-cd*
558Default key: cd
559Map setting: *NERDTreeMapChdir*
560Applies to: files and directories.
561
562Change Vim's current working directory to that of the selected node.
563
564------------------------------------------------------------------------------
565 *NERDTree-CD*
566Default key: CD
567Map setting: *NERDTreeMapCWD*
568Applies to: no restrictions.
569
570Change the NERDTree root to Vim's current working directory.
571
572------------------------------------------------------------------------------
573 *NERDTree-I*
574Default key: I
575Map setting: *NERDTreeMapToggleHidden*
576Applies to: no restrictions.
577
578Toggles whether hidden files (i.e. "dot files") are displayed.
579
580------------------------------------------------------------------------------
581 *NERDTree-f*
582Default key: f
583Map setting: *NERDTreeMapToggleFilters*
584Applies to: no restrictions.
585
586Toggles whether file filters are used. See |NERDTreeIgnore| for details.
587
588------------------------------------------------------------------------------
589 *NERDTree-F*
590Default key: F
591Map setting: *NERDTreeMapToggleFiles*
592Applies to: no restrictions.
593
594Toggles whether file nodes are displayed.
595
596------------------------------------------------------------------------------
597 *NERDTree-B*
598Default key: B
599Map setting: *NERDTreeMapToggleBookmarks*
600Applies to: no restrictions.
601
602Toggles whether the bookmarks table is displayed.
603
604------------------------------------------------------------------------------
605 *NERDTree-q*
606Default key: q
607Map setting: *NERDTreeMapQuit*
608Applies to: no restrictions.
609
610Closes the NERDTree window.
611
612------------------------------------------------------------------------------
613 *NERDTree-A*
614Default key: A
615Map setting: *NERDTreeMapToggleZoom*
616Applies to: no restrictions.
617
618Maximize (zoom) and minimize the NERDTree window.
619
620------------------------------------------------------------------------------
621 *NERDTree-?*
622Default key: ?
623Map setting: *NERDTreeMapHelp*
624Applies to: no restrictions.
625
626Toggles whether the quickhelp is displayed.
627
628------------------------------------------------------------------------------
629 2.3. The NERDTree menu *NERDTreeMenu*
630
631The NERDTree has a menu that can be programmed via the an API (see
632|NERDTreeMenuAPI|). The idea is to simulate the "right click" menus that most
633file explorers have.
634
635The script comes with two default menu plugins: exec_menuitem.vim and
636fs_menu.vim. fs_menu.vim adds some basic filesystem operations to the menu for
637creating/deleting/moving/copying files and directories. exec_menuitem.vim
638provides a menu item to execute executable files.
639
640Related tags: |NERDTree-m| |NERDTreeApi|
641
642------------------------------------------------------------------------------
643 *NERDTreeMenu-j*
644Default key: j
645Map option: *NERDTreeMenuDown*
646Applies to: The NERDTree menu.
647
648Moves the cursor down.
649
650------------------------------------------------------------------------------
651 *NERDTreeMenu-k*
652Default key: k
653Map option: *NERDTreeMenuUp*
654Applies to: The NERDTree menu.
655
656Moves the cursor up.
657
658==============================================================================
6593. Customisation *NERDTreeSettings*
660
661
662------------------------------------------------------------------------------
6633.1. Customisation summary *NERDTreeSettingsSummary*
664
665The plugin provides the following settings that can customise the behaviour
666the NERDTree. These settings should be set in your vimrc, using `:let`.
667
668|loaded_nerd_tree| Turns off the script.
669
670|NERDTreeAutoCenter| Controls whether the NERDTree window centers
671 when the cursor moves within a specified
672 distance to the top/bottom of the window.
673
674|NERDTreeAutoCenterThreshold| Controls the sensitivity of autocentering.
675
676|NERDTreeCaseSensitiveSort| Tells the NERDTree whether to be case
677 sensitive or not when sorting nodes.
678
679|NERDTreeNaturalSort| Tells the NERDTree whether to use natural sort
680 order or not when sorting nodes.
681
682|NERDTreeSortHiddenFirst| Tells the NERDTree whether to take the dot at
683 the beginning of the hidden file names into
684 account when sorting nodes.
685
686|NERDTreeChDirMode| Tells the NERDTree if/when it should change
687 vim's current working directory.
688
689|NERDTreeHighlightCursorline| Tell the NERDTree whether to highlight the
690 current cursor line.
691
692|NERDTreeHijackNetrw| Tell the NERDTree whether to replace the netrw
693 autocommands for exploring local directories.
694
695|NERDTreeIgnore| Tells the NERDTree which files to ignore.
696
697|NERDTreeRespectWildIgnore| Tells the NERDTree to respect `'wildignore'`.
698
699|NERDTreeBookmarksFile| Where the bookmarks are stored.
700
701|NERDTreeBookmarksSort| Control how the Bookmark table is sorted.
702
703|NERDTreeMarkBookmarks| Render bookmarked nodes with markers.
704
705|NERDTreeMouseMode| Manage the interpretation of mouse clicks.
706
707|NERDTreeQuitOnOpen| Closes the tree window or bookmark table after
708 opening a file.
709
710|NERDTreeShowBookmarks| Tells the NERDTree whether to display the
711 bookmarks table on startup.
712
713|NERDTreeShowFiles| Tells the NERDTree whether to display files in
714 the tree on startup.
715
716|NERDTreeShowHidden| Tells the NERDTree whether to display hidden
717 files on startup.
718
719|NERDTreeShowLineNumbers| Tells the NERDTree whether to display line
720 numbers in the tree window.
721
722|NERDTreeSortOrder| Tell the NERDTree how to sort the nodes in the
723 tree.
724
725|NERDTreeStatusline| Set a statusline for NERDTree windows.
726
727|NERDTreeWinPos| Tells the script where to put the NERDTree
728 window.
729
730|NERDTreeWinSize| Sets the window size when the NERDTree is
731 opened.
732
733|NERDTreeWinSizeMax| Sets the maximum window size when the NERDTree
734 is zoomed.
735
736|NERDTreeMinimalUI| Disables display of the 'Bookmarks' label and
737 'Press ? for help' text.
738
739|NERDTreeMinimalMenu| Use a compact menu that fits on a single line
740 for adding, copying, deleting, etc
741
742|NERDTreeCascadeSingleChildDir|
743 Collapses on the same line directories that have
744 only one child directory.
745
746|NERDTreeCascadeOpenSingleChildDir|
747 Cascade open while selected directory has only
748 one child that also is a directory.
749
750|NERDTreeAutoDeleteBuffer| Tells the NERDTree to automatically remove a
751 buffer when a file is being deleted or renamed
752 via a context menu command.
753
754|NERDTreeCreatePrefix| Specify a prefix to be used when creating the
755 NERDTree window.
756
757|NERDTreeRemoveFileCmd| Specify a custom shell command to be used when
758 deleting files. Note that it should include one
759 space character at the end of the command and it
760 applies only to files.
761
762|NERDTreeRemoveDirCmd| Specify a custom shell command to be used when
763 deleting directories. Note that it should
764 include one space character at the end of the
765 command and it applies only to directories.
766
767|NERDTreeDirArrowCollapsible| These characters indicate when a directory is
768|NERDTreeDirArrowExpandable| either collapsible or expandable.
769
770|NERDTreeNodeDelimiter| A single character that is used to separate the
771 file or directory name from the rest of the
772 characters on the line of text.
773
774|NERDTreeCustomOpenArgs| A dictionary with values that control how a node
775 is opened with the |NERDTree-<CR>| key.
776
777------------------------------------------------------------------------------
7783.2. Customisation details *NERDTreeSettingsDetails*
779
780To enable any of the below settings you should put an appropriate >
781 let <setting>=<value>
782<line in your ~/.vimrc.
783
784 *loaded_nerd_tree*
785If this plugin is making you feel homicidal, it may be a good idea to turn it
786off with this line in your vimrc: >
787 let loaded_nerd_tree=1
788<
789------------------------------------------------------------------------------
790 *NERDTreeAutoCenter*
791Values: 0 or 1.
792Default: 1
793
794If set to 1, the NERDTree window will center around the cursor if it moves to
795within |NERDTreeAutoCenterThreshold| lines of the top/bottom of the window.
796
797This is ONLY done in response to tree navigation mappings,
798i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-C-K| |NERDTree-p|
799|NERDTree-P|
800
801The centering is done with a |zz| operation.
802
803------------------------------------------------------------------------------
804 *NERDTreeAutoCenterThreshold*
805Values: Any natural number.
806Default: 3
807
808This setting controls the "sensitivity" of the NERDTree auto centering. See
809|NERDTreeAutoCenter| for details.
810
811------------------------------------------------------------------------------
812 *NERDTreeCaseSensitiveSort*
813Values: 0 or 1.
814Default: 0.
815
816By default the NERDTree does not sort nodes case sensitively, i.e. nodes
817could appear like this: >
818 bar.c
819 Baz.c
820 blarg.c
821 boner.c
822 Foo.c
823<
824But, if you set this setting to 1 then the case of the nodes will be taken
825into account. The above nodes would then be sorted like this: >
826 Baz.c
827 Foo.c
828 bar.c
829 blarg.c
830 boner.c
831<
832------------------------------------------------------------------------------
833 *NERDTreeNaturalSort*
834Values: 0 or 1.
835Default: 0.
836
837By default the NERDTree does not sort nodes in natural sort order, i.e. nodes
838could appear like this: >
839 z1.txt
840 z10.txt
841 z100.txt
842 z11.txt
843 z110.txt
844 z2.txt
845 z20.txt
846 z3.txt
847<
848But if you set this setting to 1 then the natural sort order will be used. The
849above nodes would then be sorted like this: >
850 z1.txt
851 z2.txt
852 z3.txt
853 z10.txt
854 z11.txt
855 z20.txt
856 z100.txt
857 z110.txt
858<
859------------------------------------------------------------------------------
860 *NERDTreeUseTCD*
861Values: 0 or 1.
862Default: 0.
863
864By default, NERDTree will use the `:cd` command to change the current working
865directory. If this setting is turned on, and the `:tcd` command is available, it
866will be used instead.
867
868------------------------------------------------------------------------------
869 *NERDTreeChDirMode*
870Values: 0, 1, 2, or 3.
871Default: 0.
872
873Use this setting to tell the script when (if at all) to change the current
874working directory (CWD) for vim.
875
876If it is set to 0 then the CWD is never changed by the NERDTree.
877
878If set to 1 then the CWD is changed when the NERDTree is first loaded to the
879directory it is initialized in. For example, if you start the NERDTree with >
880 :NERDTree /home/marty/foobar
881<
882then the CWD will be changed to /home/marty/foobar and will not be changed
883again unless you init another NERDTree with a similar command.
884
885If the setting is set to 2 then it behaves the same as if set to 1 except that
886the CWD is changed whenever the tree root is changed. For example, if the CWD
887is /home/marty/foobar and you make the node for /home/marty/foobar/baz the new
888root then the CWD will become /home/marty/foobar/baz.
889
890If the set to 3, then it behaves the same as if set to 2, and the CWD is
891changed whenever changing tabs to whatever the tree root is on that tab.
892
893------------------------------------------------------------------------------
894 *NERDTreeHighlightCursorline*
895Values: 0 or 1.
896Default: 1.
897
898If set to 1, the current cursor line in the NERDTree buffer will be
899highlighted. This is done using the `'cursorline'` Vim option.
900
901------------------------------------------------------------------------------
902 *NERDTreeHijackNetrw*
903Values: 0 or 1.
904Default: 1.
905
906If set to 1, doing a >
907 :edit <some directory>
908<
909will open up a window level NERDTree instead of a netrw in the target window.
910
911Window level trees behaves slightly different from a regular trees in the
912following respects:
913 1. 'o' will open the selected file in the same window as the tree,
914 replacing it.
915 2. you can have one tree per window - instead of per tab.
916
917------------------------------------------------------------------------------
918 *NERDTreeIgnore*
919Values: a list of regular expressions.
920Default: ['\~$'].
921
922This setting is used to specify which files the NERDTree should ignore. It
923must be a list of regular expressions. When the NERDTree is rendered, any
924files/directories that match any of the regex's in NERDTreeIgnore won't be
925displayed.
926
927For example if you put the following line in your vimrc: >
928 let NERDTreeIgnore=['\.vim$', '\~$']
929<
930then all files ending in .vim or ~ will be ignored.
931
932There are 3 magic flags that can be appended to the end of each regular
933expression to specify that the regex should match only filenames, only lowest
934level directories, or a full path. These flags are "[[dir]]", "[[file]]", and
935"[[path]]". Example: >
936 let NERDTreeIgnore=['\.d$[[dir]]', '\.o$[[file]]', 'tmp/cache$[[path]]']
937<
938This will cause all directories ending in ".d" to be ignored, all files ending
939in ".o" to be ignored, and the "cache" subdirectory of any "tmp" directory to
940be ignored. All other "cache" directories will be displayed.
941
942When using the "[[path]]" tag on Windows, make sure you use escaped
943backslashes for the separators in the regex, eg. 'Temp\\cache$[[path]]'
944
945Note: to tell the NERDTree not to ignore any files you must use the following
946line: >
947 let NERDTreeIgnore=[]
948<
949The file filters can be turned on and off dynamically with the |NERDTree-f|
950mapping.
951
952------------------------------------------------------------------------------
953 *NERDTreeRespectWildIgnore*
954Values: 0 or 1.
955Default: 0.
956
957If set to 1, the `'wildignore'` setting is respected.
958
959------------------------------------------------------------------------------
960 *NERDTreeBookmarksFile*
961Values: a path
962Default: $HOME/.NERDTreeBookmarks
963
964This is where bookmarks are saved. See |NERDTreeBookmarkCommands|.
965
966------------------------------------------------------------------------------
967 *NERDTreeBookmarksSort*
968Values: 0, 1, or 2
969Default: 1
970
971This setting controls the method by which the list of user bookmarks is
972sorted. When sorted, bookmarks will render in alphabetical order by name.
973
974If set to 0, the bookmarks list is not sorted.
975If set to 1, the bookmarks list is sorted in a case-insensitive manner.
976If set to 2, the bookmarks list is sorted in a case-sensitive manner.
977
978------------------------------------------------------------------------------
979 *NERDTreeMarkBookmarks*
980Values: 0 or 1
981Default: 1
982
983If set to 1, Bookmarks will be specially marked whenever the NERDTree is
984rendered. Users of the |NERDTreeMinimalUI| setting may prefer to disable
985this setting for even less visual clutter.
986
987------------------------------------------------------------------------------
988 *NERDTreeMouseMode*
989Values: 1, 2 or 3.
990Default: 1.
991
992If set to 1 then a double click on a node is required to open it.
993If set to 2 then a single click will open directory nodes, while a double
994click will still be required for file nodes.
995If set to 3 then a single click will open any node.
996
997Note: a double click anywhere on a line that a tree node is on will
998activate it, but all single-click activations must be done on name of the node
999itself. For example, if you have the following node: >
1000 | | |-application.rb
1001<
1002then (to single click activate it) you must click somewhere in
1003'application.rb'.
1004
1005------------------------------------------------------------------------------
1006 *NERDTreeQuitOnOpen*
1007Values: 0,1,2 or 3.
1008Default: 0
1009
1010This setting governs whether the NERDTree window or the bookmarks table closes
1011after opening a file with the |NERDTree-o|, |NERDTree-i|, |NERDTree-t| and
1012|NERDTree-T| mappings.
1013
1014 Value | NERDTree Window Behavior
1015 -------+-------------------------------------------------------
1016 0 | No change
1017 1 | Closes after opening a file
1018 2 | Closes the bookmark table after opening a bookmark
1019 3(1+2) | Same as both 1 and 2
1020
1021------------------------------------------------------------------------------
1022 *NERDTreeShowBookmarks*
1023Values: 0 or 1.
1024Default: 0.
1025
1026If this setting is set to 1 then the bookmarks table will be displayed.
1027
1028This setting can be toggled dynamically, per tree, with the |NERDTree-B|
1029mapping.
1030
1031------------------------------------------------------------------------------
1032 *NERDTreeShowFiles*
1033Values: 0 or 1.
1034Default: 1.
1035
1036If this setting is set to 1 then files are displayed in the NERDTree. If it
1037is set to 0 then only directories are displayed.
1038
1039This setting can be toggled dynamically, per tree, with the |NERDTree-F|
1040mapping and is useful for drastically shrinking the tree when you are
1041navigating to a different part of the tree.
1042
1043------------------------------------------------------------------------------
1044 *NERDTreeShowHidden*
1045Values: 0 or 1.
1046Default: 0.
1047
1048This setting tells vim whether to display hidden files by default. This
1049setting can be dynamically toggled, per tree, with the |NERDTree-I| mapping.
1050Use one of the follow lines for this setting: >
1051 let NERDTreeShowHidden=0
1052 let NERDTreeShowHidden=1
1053<
1054------------------------------------------------------------------------------
1055 *NERDTreeShowLineNumbers*
1056Values: 0 or 1.
1057Default: 0.
1058
1059This setting tells vim whether to display line numbers for the NERDTree
1060window. Use one of the follow lines for this setting: >
1061 let NERDTreeShowLineNumbers=0
1062 let NERDTreeShowLineNumbers=1
1063<
1064------------------------------------------------------------------------------
1065 *NERDTreeSortOrder*
1066Values: a list of regular expressions.
1067Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$']
1068
1069This setting is a list of regular expressions which are used to group or sort
1070the nodes under their parent.
1071
1072For example, if the setting is: >
1073 ['\.vim$', '\.c$', '\.h$', '*', 'foobar']
1074<
1075then all .vim files will be grouped at the top, followed by all .c files then
1076all .h files. All files containing the string 'foobar' will be placed at the
1077end. The star is a special flag: it tells the script that every node that
1078doesn't match any of the other regexps should be placed here.
1079
1080If no star is present in NERDTreeSortOrder, then one is automatically
1081appended to the end of the list.
1082
1083The regex '\/$' should be used to match directory nodes.
1084
1085Files can also be sorted by 1) the modification timestamp, 2) the size, or 3)
1086the extension. Directories are always sorted by name. To accomplish this, the
1087following special flags are used:
1088 [[timestamp]] [[-timestamp]] [[size]] [[-size]] [[extension]]
1089The hyphen specifies a descending sort; extensions are sorted in ascending
1090order only. If placed at the beginning of the list, files are sorted according
1091to these flags first, and then grouped by the remaining items in the list. If
1092the flags are in any other position of the list, this special sorting is done
1093secondarily. See examples 4, 5, and 6 below.
1094
1095After this sorting is done, the files in each group are sorted alphabetically.
1096
1097Examples: >
1098 (1) ['*', '\/$']
1099 (2) []
1100 (3) ['\/$', '\.rb$', '\.php$', '*', '\.swp$', '\.bak$', '\~$']
1101 (4) ['[[-size]]']
1102 (5) ['\/$', '*', '[[timestamp]]']
1103 (6) ['foo','\/$','[[extension]]']
1104<
11051. Directories will appear last, everything else will appear above.
11062. Everything will simply appear in alphabetical order.
11073. Directories will appear first, then ruby and php. Swap files, bak files
1108 and vim backup files will appear last with everything else preceding them.
11094. Everything is sorted by size, largest to smallest, with directories
1110 considered to have size 0 bytes.
11115. Directories will appear first alphabetically, followed by files, sorted by
1112 timestamp, oldest first.
11136. Files and directories matching 'foo' first, followed by other directories,
1114 then all other files. Each section of files is sorted by file extension.
1115
1116------------------------------------------------------------------------------
1117 *NERDTreeStatusline*
1118Values: Any valid `'statusline'` setting.
1119Default: %{exists('b:NERDTree')?b:NERDTree.root.path.str():''}
1120
1121Defines the value for the `'statusline'` setting in NERDTree windows.
1122
1123Note: The setting is actually applied using |:let-&|, not |:set|, so
1124escaping spaces is not necessary.
1125
1126Setting this to -1 will deactivate it so that your global `'statusline'`
1127setting is used.
1128
1129------------------------------------------------------------------------------
1130 *NERDTreeWinPos*
1131Values: "left" or "right"
1132Default: "left".
1133
1134This setting is used to determine where NERDTree window is placed on the
1135screen.
1136
1137This setting makes it possible to use two different explorer plugins
1138simultaneously. For example, you could have the taglist plugin on the left of
1139the window and the NERDTree on the right.
1140
1141------------------------------------------------------------------------------
1142 *NERDTreeWinSize*
1143Values: a positive integer.
1144Default: 31.
1145
1146This setting is used to change the size of the NERDTree when it is loaded.
1147
1148------------------------------------------------------------------------------
1149 *NERDTreeMinimalUI*
1150Values: 0 or 1
1151Default: 0
1152
1153This setting disables the 'Bookmarks' label 'Press ? for help' text. Use one
1154of the following lines for this setting: >
1155 let NERDTreeMinimalUI=0
1156 let NERDTreeMinimalUI=1
1157<
1158------------------------------------------------------------------------------
1159 *NERDTreeMinimalMenu*
1160Values: 0 or 1
1161Default: 0
1162
1163This setting makes NERDTree use a smaller, more compact menu for adding,
1164copying, deleting nodes. This menu fits on a single line so Vim doesn't need to
1165scroll down to present it. This setting is recommended for users already
1166familiar with the menu items. It will look similar to this:
1167
1168 Menu: [ (a)dd ,m,d,r,o,q,c,l] (Use j/k/enter or shortcut):
1169
1170An action can be selected with its shortcut key or with the NERDTreeMenuUp and
1171NERDTreeMenuDown keys, then pressing enter.
1172
1173Use one of the following lines for this setting: >
1174 let NERDTreeMinimalMenu=0
1175 let NERDTreeMinimalMenu=1
1176<
1177------------------------------------------------------------------------------
1178 *NERDTreeCascadeSingleChildDir*
1179Values: 0 or 1
1180Default: 1.
1181
1182When displaying directory nodes, this setting tells NERDTree to collapse
1183directories that have only one child. Use one of the following lines for this
1184setting: >
1185 let NERDTreeCascadeSingleChildDir=0
1186 let NERDTreeCascadeSingleChildDir=1
1187<
1188------------------------------------------------------------------------------
1189 *NERDTreeCascadeOpenSingleChildDir*
1190Values: 0 or 1
1191Default: 1.
1192
1193When opening directory nodes, this setting tells NERDTree to recursively open
1194directories that have only one child which is also a directory. NERDTree will
1195stop when it finds a directory that contains anything but another single
1196directory. This setting also causes the |NERDTree-x| mapping to close
1197directories in the same manner. This setting may be useful for Java projects.
1198Use one of the following lines for this setting: >
1199 let NERDTreeCascadeOpenSingleChildDir=0
1200 let NERDTreeCascadeOpenSingleChildDir=1
1201<
1202------------------------------------------------------------------------------
1203 *NERDTreeAutoDeleteBuffer*
1204Values: 0 or 1
1205Default: 0.
1206
1207When using a context menu to delete or rename a file you may also want to
1208delete the buffer which is no more valid. If the setting is not set you will
1209see a confirmation if you really want to delete an old buffer. If you always
1210press 'y' then it's worth it to set this setting to 1. Use one of the
1211following lines for this setting: >
1212 let NERDTreeAutoDeleteBuffer=0
1213 let NERDTreeAutoDeleteBuffer=1
1214<
1215------------------------------------------------------------------------------
1216 *NERDTreeCreatePrefix*
1217Values: Any valid command prefix.
1218Default: "silent".
1219
1220Internally, NERDTree uses the |:edit| command to create a buffer in which to
1221display its tree view. You can augment this behavior by specifying a prefix
1222string such as "keepalt" or similar. For example, to have NERDTree create its
1223tree window using `silent keepalt keepjumps edit`: >
1224 let NERDTreeCreatePrefix='silent keepalt keepjumps'
1225<
1226------------------------------------------------------------------------------
1227 *NERDTreeDirArrowCollapsible* *NERDTreeDirArrowExpandable*
1228Values: Any single character.
1229Defaults: Windows: ~ and + Others: â–¾ and â–¸
1230
1231These characters indicate whether a directory is collapsible or expandable.
1232Example: >
1233 let NERDTreeDirArrowExpandable=">"
1234 let NERDTreeDirArrowCollapsible="v"
1235<
1236They can be set to "\u00a0" to replace the arrows with a non-breaking space.
1237If you do this you may need to change the node delimiter. See
1238|NERDTreeNodeDelimiter|. You cannot use the same character for both the arrows
1239and the delimiter.
1240
1241Alternatively, they can be set to '' (an empty string). This removes the
1242arrows and the single space that follows them, shifting the entire tree two
1243character positions to the left.
1244
1245------------------------------------------------------------------------------
1246 *NERDTreeNodeDelimiter*
1247Values: Any single character.
1248Default: varies (see below)
1249
1250This character is used to separate the file or directory name from the rest of
1251the characters in the line of text. It allows filenames to contain special
1252characters that are otherwise used in the NERDTree, such as square brackets,
1253braces, trailing asterisk, and leading space. For more details, see the
1254responsible pull request: https://github.com/preservim/nerdtree/pull/868.
1255
1256The default value of this variable depends on the features compiled into your
1257vim and the values of |NERDTreeDirArrowCollapsible| and
1258|NERDTreeDirArrowExpandable|.
1259 * If your vim is compiled with the +conceal feature, it is the "\x07"
1260 (BEL) character, and it is hidden by setting 'conceallevel' to 2. If you
1261 use autocommands, make sure none of them change that setting in the
1262 NERD_Tree_* buffers.
1263 * If your vim does NOT have the +conceal feature and you're using "\u00a0"
1264 (non-breaking space) to hide the directory arrows, "\u00b7" (middle dot)
1265 is used as the default delimiter.
1266 * If neither condition above applies, NERDTree uses "\u00a0" (non-breaking
1267 space) as the default delimiter.
1268
1269In the 2nd and 3rd cases, NERDTree will use the Ignore highlight group to
1270"hide" the delimiter. It should appear as an empty space.
1271
1272Other plugins can interfere with these defaults, so if you need to change the
1273delimiter, be sure to choose a character that won't appear in your filenames
1274or any of the flags set by your installed NERDTree plugins. The suggestions
1275below are but a few of the many possibilities. Remember to use double quotes
1276when specifying by hex or Unicode. >
1277 let NERDTreeNodeDelimiter="\x07" "bell
1278 let NERDTreeNodeDelimiter="\u00b7" "middle dot
1279 let NERDTreeNodeDelimiter="\u00a0" "non-breaking space
1280 let NERDTreeNodeDelimiter="😀" "smiley face
1281<
1282------------------------------------------------------------------------------
1283 *NERDTreeCustomOpenArgs*
1284Values: A nested dictionary, as described below
1285Default: {'file': {'reuse': 'all', 'where': 'p'}, 'dir': {}}
1286
1287This dictionary contains two keys, 'file' and 'dir', whose values each are
1288another dictionary. The inner dictionary is a set of parameters used by
1289|NERDTree-<CR>| to open a file or directory. Setting these parameters allows you
1290to customize the way the node is opened. The default value matches what
1291|NERDTree-o| does. To change that behavior, use these keys and
1292values in the inner dictionaries:
1293
1294'where': specifies whether the node should be opened in a new split ("h" or
1295 "v"), in a new tab ("t") or, in the last window ("p").
1296'reuse': if file is already shown in a window, jump there; takes values
1297 "all", "currenttab", or empty
1298'keepopen': boolean (0 or 1); if true, the tree window will not be closed
1299'stay': boolean (0 or 1); if true, remain in tree window after opening
1300
1301For example:
1302To open files and directories (creating a new NERDTree) in a new tab, >
1303 {'file':{'where': 't'}, 'dir':{'where':'t'}}
1304<
1305To open a file always in the current tab, and expand directories in place, >
1306 {'file': {'reuse':'currenttab', 'where':'p', 'keepopen':1, 'stay':1}}
1307<
1308==============================================================================
13094. The NERDTree API *NERDTreeAPI*
1310
1311The NERDTree script allows you to add custom key mappings and menu items via
1312a set of API calls. Any scripts that use this API should be placed in
1313~/.vim/nerdtree_plugin/ (*nix) or ~/vimfiles/nerdtree_plugin (windows).
1314
1315The script exposes some prototype objects that can be used to manipulate the
1316tree and/or get information from it: >
1317 g:NERDTreePath
1318 g:NERDTreeDirNode
1319 g:NERDTreeFileNode
1320 g:NERDTreeBookmark
1321<
1322See the code/comments in NERD_tree.vim to find how to use these objects. The
1323following code conventions are used:
1324 * class members start with a capital letter
1325 * instance members start with a lower case letter
1326 * private members start with an underscore
1327
1328See this blog post for more details:
1329 http://got-ravings.blogspot.com/2008/09/vim-pr0n-prototype-based-objects.html
1330
1331A number of API functions take a callback argument to call. The callback can
1332be either a string with the name of a function to call, or a |Funcref| object
1333which will be called directly.
1334
1335------------------------------------------------------------------------------
13364.1. Key map API *NERDTreeKeymapAPI*
1337
1338NERDTreeAddKeyMap({options}) *NERDTreeAddKeyMap()*
1339 Adds a new keymapping for all NERDTree buffers.
1340 {options} must be a dictionary, and must contain the following keys:
1341 "key" - the trigger key for the new mapping
1342 "callback" - the function the new mapping will be bound to
1343 "quickhelpText" - the text that will appear in the quickhelp (see
1344 |NERDTree-?|)
1345 "override" - if 1 then this new mapping will override whatever previous
1346 mapping was defined for the key/scope combo. Useful for overriding the
1347 default mappings.
1348
1349 Additionally, a "scope" argument may be supplied. This constrains the
1350 mapping so that it is only activated if the cursor is on a certain object.
1351 That object is then passed into the handling method. Possible values are:
1352
1353 "FileNode" .... a file node
1354 "DirNode" ..... a directory node
1355 "Node" ........ a file node OR a directory node
1356 "Bookmark" .... a bookmark
1357 "all" ......... global scope; handler receives no arguments (default)
1358
1359 Example: >
1360 call NERDTreeAddKeyMap({
1361 \ 'key': 'foo',
1362 \ 'callback': 'NERDTreeEchoPathHandler',
1363 \ 'quickhelpText': 'echo full path of current node',
1364 \ 'scope': 'DirNode' })
1365
1366 function! NERDTreeEchoPathHandler(dirnode)
1367 echo a:dirnode.path.str()
1368 endfunction
1369<
1370 This code should sit in a file like ~/.vim/nerdtree_plugin/mymapping.vim.
1371 It adds a (redundant) mapping on 'foo' which changes vim's CWD to that of
1372 the current directory node. Note this mapping will only fire when the
1373 cursor is on a directory node.
1374
1375------------------------------------------------------------------------------
13764.2. Menu API *NERDTreeMenuAPI*
1377
1378NERDTreeAddSubmenu({options}) *NERDTreeAddSubmenu()*
1379 Creates and returns a new submenu.
1380
1381 {options} must be a dictionary and must contain the following keys:
1382 "text" - the text of the submenu that the user will see
1383 "shortcut" - a shortcut key for the submenu (need not be unique)
1384
1385 The following keys are optional:
1386 "isActiveCallback" - a function that will be called to determine whether
1387 this submenu item will be displayed or not. The callback function must
1388 return 0 or 1.
1389 "parent" - the parent submenu of the new submenu (returned from a previous
1390 invocation of NERDTreeAddSubmenu()). If this key is left out then the new
1391 submenu will sit under the top level menu.
1392
1393 See below for an example.
1394
1395NERDTreeAddMenuItem({options}) *NERDTreeAddMenuItem()*
1396 Adds a new menu item to the NERDTree menu (see |NERDTreeMenu|).
1397
1398 {options} must be a dictionary and must contain the
1399 following keys:
1400 "text" - the text of the menu item which the user will see
1401 "shortcut" - a shortcut key for the menu item (need not be unique)
1402 "callback" - the function that will be called when the user activates the
1403 menu item.
1404
1405 The following keys are optional:
1406 "isActiveCallback" - a function that will be called to determine whether
1407 this menu item will be displayed or not. The callback function must return
1408 0 or 1.
1409 "parent" - if the menu item belongs under a submenu then this key must be
1410 specified. This value for this key will be the object that
1411 was returned when the submenu was created with |NERDTreeAddSubmenu()|.
1412
1413 See below for an example.
1414
1415NERDTreeAddMenuSeparator([{options}]) *NERDTreeAddMenuSeparator()*
1416 Adds a menu separator (a row of dashes).
1417
1418 {options} is an optional dictionary that may contain the following keys:
1419 "isActiveCallback" - see description in |NERDTreeAddMenuItem()|.
1420
1421Below is an example of the menu API in action. >
1422 call NERDTreeAddMenuSeparator()
1423
1424 call NERDTreeAddMenuItem({
1425 \ 'text': 'a (t)op level menu item',
1426 \ 'shortcut': 't',
1427 \ 'callback': 'SomeFunction' })
1428
1429 let submenu = NERDTreeAddSubmenu({
1430 \ 'text': 'a (s)ub menu',
1431 \ 'shortcut': 's' })
1432
1433 call NERDTreeAddMenuItem({
1434 \ 'text': '(n)ested item 1',
1435 \ 'shortcut': 'n',
1436 \ 'callback': 'SomeFunction',
1437 \ 'parent': submenu })
1438
1439 call NERDTreeAddMenuItem({
1440 \ 'text': '(n)ested item 2',
1441 \ 'shortcut': 'n',
1442 \ 'callback': 'SomeFunction',
1443 \ 'parent': submenu })
1444<
1445This will create the following menu: >
1446 --------------------
1447 a (t)op level menu item
1448 a (s)ub menu
1449<
1450Where selecting "a (s)ub menu" will lead to a second menu: >
1451 (n)ested item 1
1452 (n)ested item 2
1453<
1454When any of the 3 concrete menu items are selected the function "SomeFunction"
1455will be called.
1456
1457------------------------------------------------------------------------------
14584.3 NERDTreeAddPathFilter(callback) *NERDTreeAddPathFilter()*
1459
1460Path filters are essentially a more powerful version of |NERDTreeIgnore|.
1461If the simple regex matching in |NERDTreeIgnore| is not enough then use
1462|NERDTreeAddPathFilter()| to add a callback function that paths will be
1463checked against when the decision to ignore them is made. Example >
1464
1465 call NERDTreeAddPathFilter('MyFilter')
1466
1467 function! MyFilter(params)
1468 "params is a dict containing keys: 'nerdtree' and 'path' which are
1469 "g:NERDTree and g:NERDTreePath objects
1470
1471 "return 1 to ignore params['path'] or 0 otherwise
1472 endfunction
1473<
1474------------------------------------------------------------------------------
14754.4 Path Listener API *NERDTreePathListenerAPI*
1476
1477Use this API if you want to run a callback for events on Path objects. E.G >
1478
1479 call g:NERDTreePathNotifier.AddListener("init", "MyListener")
1480
1481 "....
1482
1483 function! MyListener(event)
1484 "This function will be called whenever a Path object is created.
1485
1486 "a:event is an object that contains a bunch of relevant info -
1487 "including the affected path. See lib/nerdtree/event.vim for details.
1488 endfunction
1489<
1490Current events supported:
1491 init ~
1492 refresh ~
1493 refreshFlags ~
1494
1495------------------------------------------------------------------------------
1496NERDTreeRender() *NERDTreeRender()*
1497 Re-renders the NERDTree buffer. Useful if you change the state of the
1498 tree and you want to it to be reflected in the UI.
1499
1500==============================================================================
15015. About *NERDTreeAbout*
1502
1503The author of the NERDTree is a terrible terrible monster called Martyzilla
1504who gobbles up small children with milk and sugar for breakfast.
1505
1506He can be reached at martin.grenfell at gmail dot com. He would love to hear
1507from you, so feel free to send him suggestions and/or comments about this
1508plugin. Don't be shy --- the worst he can do is slaughter you and stuff you
1509in the fridge for later ;)
1510
1511Martyzilla recruited two other unwitting accomplices to become his minions in
1512his quest to conquer the Vim plugin world. While he may still love to receive
1513your emails, the best way to send suggestions, bug reports, and questions is
1514to submit an issue at http://github.com/preservim/nerdtree/issues.
1515
1516The latest stable and development versions are on Github.
1517 Stable: http://github.com/preservim/nerdtree (master branch)
1518 Development: http://github.com/preservim/nerdtree/branches
1519
1520Title Credit:
1521 * http://ascii.co.uk/art/tree
1522
1523 * Patrick Gillespie's Text ASCII Art Generator
1524 http://patorjk.com/software/taag
1525 http://patorjk.com/software/taag/#p=display&f=Rozzo&t=the%20NERD%20Tree
1526
1527==============================================================================
15286. License *NERDTreeLicense*
1529
1530The NERDTree is released under the wtfpl.
1531See http://sam.zoy.org/wtfpl/COPYING.
1532
1533------------------------------------------------------------------------------
1534 vim:tw=78:ts=8:ft=help:noet:nospell
diff --git a/.vim/pack/vendor/start/nerdtree/doc/tags b/.vim/pack/vendor/start/nerdtree/doc/tags
new file mode 100644
index 0000000..c1135b2
--- /dev/null
+++ b/.vim/pack/vendor/start/nerdtree/doc/tags
@@ -0,0 +1,143 @@
1:NERDTree NERDTree.txt /*:NERDTree*
2:NERDTreeCWD NERDTree.txt /*:NERDTreeCWD*
3:NERDTreeClose NERDTree.txt /*:NERDTreeClose*
4:NERDTreeFind NERDTree.txt /*:NERDTreeFind*
5:NERDTreeFocus NERDTree.txt /*:NERDTreeFocus*
6:NERDTreeFromBookmark NERDTree.txt /*:NERDTreeFromBookmark*
7:NERDTreeMirror NERDTree.txt /*:NERDTreeMirror*
8:NERDTreeRefreshRoot NERDTree.txt /*:NERDTreeRefreshRoot*
9:NERDTreeToggle NERDTree.txt /*:NERDTreeToggle*
10:NERDTreeToggleVCS NERDTree.txt /*:NERDTreeToggleVCS*
11:NERDTreeVCS NERDTree.txt /*:NERDTreeVCS*
12NERDTree NERDTree.txt /*NERDTree*
13NERDTree-<CR> NERDTree.txt /*NERDTree-<CR>*
14NERDTree-? NERDTree.txt /*NERDTree-?*
15NERDTree-A NERDTree.txt /*NERDTree-A*
16NERDTree-B NERDTree.txt /*NERDTree-B*
17NERDTree-C NERDTree.txt /*NERDTree-C*
18NERDTree-C-J NERDTree.txt /*NERDTree-C-J*
19NERDTree-C-K NERDTree.txt /*NERDTree-C-K*
20NERDTree-CD NERDTree.txt /*NERDTree-CD*
21NERDTree-D NERDTree.txt /*NERDTree-D*
22NERDTree-F NERDTree.txt /*NERDTree-F*
23NERDTree-I NERDTree.txt /*NERDTree-I*
24NERDTree-J NERDTree.txt /*NERDTree-J*
25NERDTree-K NERDTree.txt /*NERDTree-K*
26NERDTree-O NERDTree.txt /*NERDTree-O*
27NERDTree-P NERDTree.txt /*NERDTree-P*
28NERDTree-R NERDTree.txt /*NERDTree-R*
29NERDTree-T NERDTree.txt /*NERDTree-T*
30NERDTree-U NERDTree.txt /*NERDTree-U*
31NERDTree-X NERDTree.txt /*NERDTree-X*
32NERDTree-cd NERDTree.txt /*NERDTree-cd*
33NERDTree-contents NERDTree.txt /*NERDTree-contents*
34NERDTree-e NERDTree.txt /*NERDTree-e*
35NERDTree-f NERDTree.txt /*NERDTree-f*
36NERDTree-gi NERDTree.txt /*NERDTree-gi*
37NERDTree-go NERDTree.txt /*NERDTree-go*
38NERDTree-gs NERDTree.txt /*NERDTree-gs*
39NERDTree-i NERDTree.txt /*NERDTree-i*
40NERDTree-m NERDTree.txt /*NERDTree-m*
41NERDTree-o NERDTree.txt /*NERDTree-o*
42NERDTree-p NERDTree.txt /*NERDTree-p*
43NERDTree-q NERDTree.txt /*NERDTree-q*
44NERDTree-r NERDTree.txt /*NERDTree-r*
45NERDTree-s NERDTree.txt /*NERDTree-s*
46NERDTree-t NERDTree.txt /*NERDTree-t*
47NERDTree-u NERDTree.txt /*NERDTree-u*
48NERDTree-x NERDTree.txt /*NERDTree-x*
49NERDTree.txt NERDTree.txt /*NERDTree.txt*
50NERDTreeAPI NERDTree.txt /*NERDTreeAPI*
51NERDTreeAbout NERDTree.txt /*NERDTreeAbout*
52NERDTreeAddKeyMap() NERDTree.txt /*NERDTreeAddKeyMap()*
53NERDTreeAddMenuItem() NERDTree.txt /*NERDTreeAddMenuItem()*
54NERDTreeAddMenuSeparator() NERDTree.txt /*NERDTreeAddMenuSeparator()*
55NERDTreeAddPathFilter() NERDTree.txt /*NERDTreeAddPathFilter()*
56NERDTreeAddSubmenu() NERDTree.txt /*NERDTreeAddSubmenu()*
57NERDTreeAutoCenter NERDTree.txt /*NERDTreeAutoCenter*
58NERDTreeAutoCenterThreshold NERDTree.txt /*NERDTreeAutoCenterThreshold*
59NERDTreeAutoDeleteBuffer NERDTree.txt /*NERDTreeAutoDeleteBuffer*
60NERDTreeBookmarkCommands NERDTree.txt /*NERDTreeBookmarkCommands*
61NERDTreeBookmarkTable NERDTree.txt /*NERDTreeBookmarkTable*
62NERDTreeBookmarks NERDTree.txt /*NERDTreeBookmarks*
63NERDTreeBookmarksFile NERDTree.txt /*NERDTreeBookmarksFile*
64NERDTreeBookmarksSort NERDTree.txt /*NERDTreeBookmarksSort*
65NERDTreeCascadeOpenSingleChildDir NERDTree.txt /*NERDTreeCascadeOpenSingleChildDir*
66NERDTreeCascadeSingleChildDir NERDTree.txt /*NERDTreeCascadeSingleChildDir*
67NERDTreeCaseSensitiveSort NERDTree.txt /*NERDTreeCaseSensitiveSort*
68NERDTreeChDirMode NERDTree.txt /*NERDTreeChDirMode*
69NERDTreeCreatePrefix NERDTree.txt /*NERDTreeCreatePrefix*
70NERDTreeCustomOpenArgs NERDTree.txt /*NERDTreeCustomOpenArgs*
71NERDTreeDirArrowCollapsible NERDTree.txt /*NERDTreeDirArrowCollapsible*
72NERDTreeDirArrowExpandable NERDTree.txt /*NERDTreeDirArrowExpandable*
73NERDTreeFunctionality NERDTree.txt /*NERDTreeFunctionality*
74NERDTreeGlobalCommands NERDTree.txt /*NERDTreeGlobalCommands*
75NERDTreeHighlightCursorline NERDTree.txt /*NERDTreeHighlightCursorline*
76NERDTreeHijackNetrw NERDTree.txt /*NERDTreeHijackNetrw*
77NERDTreeIgnore NERDTree.txt /*NERDTreeIgnore*
78NERDTreeInvalidBookmarks NERDTree.txt /*NERDTreeInvalidBookmarks*
79NERDTreeKeymapAPI NERDTree.txt /*NERDTreeKeymapAPI*
80NERDTreeLicense NERDTree.txt /*NERDTreeLicense*
81NERDTreeMapCWD NERDTree.txt /*NERDTreeMapCWD*
82NERDTreeMapChangeRoot NERDTree.txt /*NERDTreeMapChangeRoot*
83NERDTreeMapChdir NERDTree.txt /*NERDTreeMapChdir*
84NERDTreeMapCloseChildren NERDTree.txt /*NERDTreeMapCloseChildren*
85NERDTreeMapCloseDir NERDTree.txt /*NERDTreeMapCloseDir*
86NERDTreeMapCustomOpen NERDTree.txt /*NERDTreeMapCustomOpen*
87NERDTreeMapDeleteBookmark NERDTree.txt /*NERDTreeMapDeleteBookmark*
88NERDTreeMapHelp NERDTree.txt /*NERDTreeMapHelp*
89NERDTreeMapJumpFirstChild NERDTree.txt /*NERDTreeMapJumpFirstChild*
90NERDTreeMapJumpLastChild NERDTree.txt /*NERDTreeMapJumpLastChild*
91NERDTreeMapJumpNextSibling NERDTree.txt /*NERDTreeMapJumpNextSibling*
92NERDTreeMapJumpParent NERDTree.txt /*NERDTreeMapJumpParent*
93NERDTreeMapJumpPrevSibling NERDTree.txt /*NERDTreeMapJumpPrevSibling*
94NERDTreeMapJumpRoot NERDTree.txt /*NERDTreeMapJumpRoot*
95NERDTreeMapMenu NERDTree.txt /*NERDTreeMapMenu*
96NERDTreeMapOpenExpl NERDTree.txt /*NERDTreeMapOpenExpl*
97NERDTreeMapOpenInTab NERDTree.txt /*NERDTreeMapOpenInTab*
98NERDTreeMapOpenInTabSilent NERDTree.txt /*NERDTreeMapOpenInTabSilent*
99NERDTreeMapOpenRecursively NERDTree.txt /*NERDTreeMapOpenRecursively*
100NERDTreeMapOpenSplit NERDTree.txt /*NERDTreeMapOpenSplit*
101NERDTreeMapOpenVSplit NERDTree.txt /*NERDTreeMapOpenVSplit*
102NERDTreeMapPreviewSplit NERDTree.txt /*NERDTreeMapPreviewSplit*
103NERDTreeMapPreviewVSplit NERDTree.txt /*NERDTreeMapPreviewVSplit*
104NERDTreeMapQuit NERDTree.txt /*NERDTreeMapQuit*
105NERDTreeMapRefresh NERDTree.txt /*NERDTreeMapRefresh*
106NERDTreeMapRefreshRoot NERDTree.txt /*NERDTreeMapRefreshRoot*
107NERDTreeMapToggleBookmarks NERDTree.txt /*NERDTreeMapToggleBookmarks*
108NERDTreeMapToggleFiles NERDTree.txt /*NERDTreeMapToggleFiles*
109NERDTreeMapToggleFilters NERDTree.txt /*NERDTreeMapToggleFilters*
110NERDTreeMapToggleHidden NERDTree.txt /*NERDTreeMapToggleHidden*
111NERDTreeMapToggleZoom NERDTree.txt /*NERDTreeMapToggleZoom*
112NERDTreeMapUpdir NERDTree.txt /*NERDTreeMapUpdir*
113NERDTreeMapUpdirKeepOpen NERDTree.txt /*NERDTreeMapUpdirKeepOpen*
114NERDTreeMappings NERDTree.txt /*NERDTreeMappings*
115NERDTreeMarkBookmarks NERDTree.txt /*NERDTreeMarkBookmarks*
116NERDTreeMenu NERDTree.txt /*NERDTreeMenu*
117NERDTreeMenu-j NERDTree.txt /*NERDTreeMenu-j*
118NERDTreeMenu-k NERDTree.txt /*NERDTreeMenu-k*
119NERDTreeMenuAPI NERDTree.txt /*NERDTreeMenuAPI*
120NERDTreeMenuDown NERDTree.txt /*NERDTreeMenuDown*
121NERDTreeMenuUp NERDTree.txt /*NERDTreeMenuUp*
122NERDTreeMinimalMenu NERDTree.txt /*NERDTreeMinimalMenu*
123NERDTreeMinimalUI NERDTree.txt /*NERDTreeMinimalUI*
124NERDTreeMouseMode NERDTree.txt /*NERDTreeMouseMode*
125NERDTreeNaturalSort NERDTree.txt /*NERDTreeNaturalSort*
126NERDTreeNodeDelimiter NERDTree.txt /*NERDTreeNodeDelimiter*
127NERDTreePathListenerAPI NERDTree.txt /*NERDTreePathListenerAPI*
128NERDTreeQuitOnOpen NERDTree.txt /*NERDTreeQuitOnOpen*
129NERDTreeRender() NERDTree.txt /*NERDTreeRender()*
130NERDTreeRespectWildIgnore NERDTree.txt /*NERDTreeRespectWildIgnore*
131NERDTreeSettings NERDTree.txt /*NERDTreeSettings*
132NERDTreeSettingsDetails NERDTree.txt /*NERDTreeSettingsDetails*
133NERDTreeSettingsSummary NERDTree.txt /*NERDTreeSettingsSummary*
134NERDTreeShowBookmarks NERDTree.txt /*NERDTreeShowBookmarks*
135NERDTreeShowFiles NERDTree.txt /*NERDTreeShowFiles*
136NERDTreeShowHidden NERDTree.txt /*NERDTreeShowHidden*
137NERDTreeShowLineNumbers NERDTree.txt /*NERDTreeShowLineNumbers*
138NERDTreeSortOrder NERDTree.txt /*NERDTreeSortOrder*
139NERDTreeStatusline NERDTree.txt /*NERDTreeStatusline*
140NERDTreeUseTCD NERDTree.txt /*NERDTreeUseTCD*
141NERDTreeWinPos NERDTree.txt /*NERDTreeWinPos*
142NERDTreeWinSize NERDTree.txt /*NERDTreeWinSize*
143loaded_nerd_tree NERDTree.txt /*loaded_nerd_tree*