summaryrefslogtreecommitdiffstats
path: root/vim/doc/NERD_tree.txt
diff options
context:
space:
mode:
Diffstat (limited to 'vim/doc/NERD_tree.txt')
-rw-r--r--vim/doc/NERD_tree.txt1329
1 files changed, 0 insertions, 1329 deletions
diff --git a/vim/doc/NERD_tree.txt b/vim/doc/NERD_tree.txt
deleted file mode 100644
index bc07ae4..0000000
--- a/vim/doc/NERD_tree.txt
+++ /dev/null
@@ -1,1329 +0,0 @@
-*NERD_tree.txt* A tree explorer plugin that owns your momma!
-
-
-
- omg its ... ~
-
- ________ ________ _ ____________ ____ __________ ____________~
- /_ __/ / / / ____/ / | / / ____/ __ \/ __ \ /_ __/ __ \/ ____/ ____/~
- / / / /_/ / __/ / |/ / __/ / /_/ / / / / / / / /_/ / __/ / __/ ~
- / / / __ / /___ / /| / /___/ _, _/ /_/ / / / / _, _/ /___/ /___ ~
- /_/ /_/ /_/_____/ /_/ |_/_____/_/ |_/_____/ /_/ /_/ |_/_____/_____/ ~
-
-
- Reference Manual~
-
-
-
-
-==============================================================================
-CONTENTS *NERDTree-contents*
-
- 1.Intro...................................|NERDTree|
- 2.Functionality provided..................|NERDTreeFunctionality|
- 2.1 Global commands...................|NERDTreeGlobalCommands|
- 2.2 Bookmarks.........................|NERDTreeBookmarks|
- 2.2.1 The bookmark table..........|NERDTreeBookmarkTable|
- 2.2.2 Bookmark commands...........|NERDTreeBookmarkCommands|
- 2.2.3 Invalid bookmarks...........|NERDTreeInvalidBookmarks|
- 2.3 NERD tree mappings................|NERDTreeMappings|
- 2.4 The filesystem menu...............|NERDTreeFilesysMenu|
- 3.Options.................................|NERDTreeOptions|
- 3.1 Option summary....................|NERDTreeOptionSummary|
- 3.2 Option details....................|NERDTreeOptionDetails|
- 4.Hacking the NERD tree...................|NERDTreeHacking|
- 5.TODO list...............................|NERDTreeTodo|
- 6.The Author..............................|NERDTreeAuthor|
- 7.Changelog...............................|NERDTreeChangelog|
- 8.Credits.................................|NERDTreeCredits|
- 9.License.................................|NERDTreeLicense|
-
-==============================================================================
-1. Intro *NERDTree*
-
-What is this "NERD tree"??
-
-The NERD tree allows you to explore your filesystem and to open files and
-directories. It presents the filesystem to you in the form of a tree which you
-manipulate with the keyboard and/or mouse. It also allows you to perform
-simple filesystem operations.
-
-The following features and functionality are provided by the NERD tree:
- * Files and directories are displayed in a hierarchical tree structure
- * Different highlighting is provided for the following types of nodes:
- * files
- * directories
- * sym-links
- * windows .lnk files
- * read-only files
- * executable files
- * Many (customisable) mappings are provided to manipulate the tree:
- * Mappings to open/close/explore directory nodes
- * Mappings to open files in new/existing windows/tabs
- * Mappings to change the current root of the tree
- * Mappings to navigate around the tree
- * ...
- * Directories and files can be bookmarked.
- * Most NERD tree navigation can also be done with the mouse
- * Filtering of tree content (can be toggled at runtime)
- * custom file filters to prevent e.g. vim backup files being displayed
- * optional displaying of hidden files (. files)
- * files can be "turned off" so that only directories are displayed
- * A textual filesystem menu is provided which allows you to
- create/delete/move file and directory nodes as well as copy (for
- supported OSs)
- * The position and size of the NERD tree window can be customised
- * The order in which the nodes in the tree are listed can be customised.
- * A model of your filesystem is created/maintained as you explore it. This
- has several advantages:
- * All filesystem information is cached and is only re-read on demand
- * If you revisit a part of the tree that you left earlier in your
- session, the directory nodes will be opened/closed as you left them
- * The script remembers the cursor position and window position in the NERD
- tree so you can toggle it off (or just close the tree window) and then
- reopen it (with NERDTreeToggle) the NERD tree window will appear exactly
- as you left it
- * You can have a separate NERD tree for each tab, share trees across tabs,
- or a mix of both.
- * By default the script overrides the default file browser (netw), so if
- you :edit a directory a (slighly modified) NERD tree will appear in the
- current window
-
-==============================================================================
-2. Functionality provided *NERDTreeFunctionality*
-
-------------------------------------------------------------------------------
-2.1. Global Commands *NERDTreeGlobalCommands*
-
-:NERDTree [<start-directory> | <bookmark>] *:NERDTree*
- Opens a fresh NERD tree. The root of the tree depends on the argument
- given. There are 3 cases: If no argument is given, the current directory
- will be used. If a directory is given, that will be used. If a bookmark
- name is given, the corresponding directory will be used. For example: >
- :NERDTree /home/marty/vim7/src
- :NERDTree foo (foo is the name of a bookmark)
-<
-:NERDTreeFromBookmark <bookmark> *:NERDTreeFromBookmark*
- Opens a fresh NERD tree with the root initialized to the dir for
- <bookmark>. This only reason to use this command over :NERDTree is for
- the completion (which is for bookmarks rather than directories).
-
-:NERDTreeToggle [<start-directory> | <bookmark>] *:NERDTreeToggle*
- If a NERD tree already exists for this tab, it is reopened and rendered
- again. If no NERD tree exists for this tab then this command acts the
- same as the |:NERDTree| command.
-
-:NERDTreeMirror *:NERDTreeMirror*
- Shares an existing NERD tree, from another tab, in the current tab.
- Changes made to one tree are reflected in both as they are actually the
- same buffer.
-
- If only one other NERD tree exists, that tree is automatically mirrored. If
- more than one exists, the script will ask which tree to mirror.
-
-:NERDTreeClose *:NERDTreeClose*
- Close the NERD tree in this tab.
-
-------------------------------------------------------------------------------
-2.2. Bookmarks *NERDTreeBookmarks*
-
-Bookmarks in the NERD tree are a way to tag files or directories of interest.
-For example, you could use bookmarks to tag all of your project directories.
-
-------------------------------------------------------------------------------
-2.2.1. The Bookmark Table *NERDTreeBookmarkTable*
-
-If the bookmark table is active (see |NERDTree-B| and
-|'NERDTreeShowBookmarks'|), it will be rendered above the tree. You can double
-click bookmarks or use the |NERDTree-o| mapping to activate them. See also,
-|NERDTree-t| and |NERDTree-T|
-
-------------------------------------------------------------------------------
-2.2.2. Bookmark commands *NERDTreeBookmarkCommands*
-
-Note that the following commands are only available in the NERD tree buffer.
-
-:Bookmark <name>
- Bookmark the current node as <name>. If there is already a <name>
- bookmark, it is overwritten. <name> must not contain spaces.
-
-:BookmarkToRoot <bookmark>
- Make the directory corresponding to <bookmark> the new root. If a treenode
- corresponding to <bookmark> is already cached somewhere in the tree then
- the current tree will be used, otherwise a fresh tree will be opened.
- Note that if <bookmark> points to a file then its parent will be used
- instead.
-
-:RevealBookmark <bookmark>
- If the node is cached under the current root then it will be revealed
- (i.e. directory nodes above it will be opened) and the cursor will be
- placed on it.
-
-:OpenBookmark <bookmark>
- <bookmark> must point to a file. The file is opened as though |NERDTree-o|
- was applied. If the node is cached under the current root then it will be
- revealed and the cursor will be placed on it.
-
-:ClearBookmarks [<bookmarks>]
- Remove all the given bookmarks. If no bookmarks are given then remove all
- bookmarks on the current node.
-
-:ClearAllBookmarks
- Remove all bookmarks.
-
-:ReadBookmarks
- Re-read the bookmarks in the |'NERDTreeBookmarksFile'|.
-
-See also |:NERDTree| and |:NERDTreeFromBookmark|.
-
-------------------------------------------------------------------------------
-2.2.3. Invalid Bookmarks *NERDTreeInvalidBookmarks*
-
-If invalid bookmarks are detected, the script will issue an error message and
-the invalid bookmarks will become unavailable for use.
-
-These bookmarks will still be stored in the bookmarks file (see
-|'NERDTreeBookmarksFile'|), down the bottom. There will always be a blank line
-after the valid bookmarks but before the invalid ones.
-
-Each line in the bookmarks file represents one bookmark. The proper format is:
-<bookmark name><space><full path to the bookmark location>
-
-After you have corrected any invalid bookmarks, either restart vim, or go
-:ReadBookmarks from the NERD tree window.
-
-------------------------------------------------------------------------------
-2.3. NERD tree Mappings *NERDTreeMappings*
-
-Default Description~ help-tag~
-Key~
-
-o.......Open files, directories and bookmarks....................|NERDTree-o|
-go......Open selected file, but leave cursor in the NERDTree.....|NERDTree-go|
-t.......Open selected node/bookmark in a new tab.................|NERDTree-t|
-T.......Same as 't' but keep the focus on the current tab........|NERDTree-T|
-i.......Open selected file in a split window.....................|NERDTree-i|
-gi......Same as i, but leave the cursor on the NERDTree..........|NERDTree-i|
-!.......Execute the current file.................................|NERDTree-!|
-O.......Recursively open the selected directory..................|NERDTree-O|
-x.......Close the current nodes parent...........................|NERDTree-x|
-X.......Recursively close all children of the current node.......|NERDTree-X|
-e.......Edit the current dif.....................................|NERDTree-e|
-
-double-click.......same as the |NERDTree-o| map.
-middle-click.......same as |NERDTree-i| for files, same as
- |NERDTree-e| for dirs.
-
-D.......Delete the current bookmark .............................|NERDTree-D|
-
-P.......Jump to the root node....................................|NERDTree-P|
-p.......Jump to current nodes parent.............................|NERDTree-p|
-K.......Jump up inside directories at the current tree depth.....|NERDTree-K|
-J.......Jump down inside directories at the current tree depth...|NERDTree-J|
-<C-j>...Jump down to the next sibling of the current directory...|NERDTree-c-j|
-<C-k>...Jump up to the previous sibling of the current directory.|NERDTree-c-k|
-
-C.......Change the tree root to the selected dir.................|NERDTree-C|
-u.......Move the tree root up one directory......................|NERDTree-u|
-U.......Same as 'u' except the old root node is left open........|NERDTree-U|
-r.......Recursively refresh the current directory................|NERDTree-r|
-R.......Recursively refresh the current root.....................|NERDTree-R|
-m.......Display the filesystem menu..............................|NERDTree-m|
-cd......Change the CWD to the dir of the selected node...........|NERDTree-cd|
-
-I.......Toggle whether hidden files displayed....................|NERDTree-I|
-f.......Toggle whether the file filters are used.................|NERDTree-f|
-F.......Toggle whether files are displayed.......................|NERDTree-F|
-B.......Toggle whether the bookmark table is displayed...........|NERDTree-B|
-
-q.......Close the NERDTree window................................|NERDTree-q|
-?.......Toggle the display of the quick help.....................|NERDTree-?|
-
-------------------------------------------------------------------------------
- *NERDTree-o*
-Default key: o
-Map option: NERDTreeMapActivateNode
-Applies to: files and directories.
-
-If a file node is selected, it is opened in the previous window.
-
-If a directory is selected it is opened or closed depending on its current
-state.
-
-If a bookmark that links to a directory is selected then that directory
-becomes the new root.
-
-If a bookmark that links to a file is selected then that file is opened in the
-previous window.
-
-------------------------------------------------------------------------------
- *NERDTree-go*
-Default key: go
-Map option: None
-Applies to: files.
-
-If a file node is selected, it is opened in the previous window, but the
-cursor does not move.
-
-The key combo for this mapping is always "g" + NERDTreeMapActivateNode (see
-|NERDTree-o|).
-
-------------------------------------------------------------------------------
- *NERDTree-t*
-Default key: t
-Map option: NERDTreeMapOpenInTab
-Applies to: files and directories.
-
-Opens the selected file in a new tab. If a directory is selected, a fresh
-NERD Tree for that directory is opened in a new tab.
-
-If a bookmark which points to a directory is selected, open a NERD tree for
-that directory in a new tab. If the bookmark points to a file, open that file
-in a new tab.
-
-------------------------------------------------------------------------------
- *NERDTree-T*
-Default key: T
-Map option: NERDTreeMapOpenInTabSilent
-Applies to: files and directories.
-
-The same as |NERDTree-t| except that the focus is kept in the current tab.
-
-------------------------------------------------------------------------------
- *NERDTree-i*
-Default key: i
-Map option: NERDTreeMapOpenSplit
-Applies to: files.
-
-Opens the selected file in a new split window and puts the cursor in the new
-window.
-
-------------------------------------------------------------------------------
- *NERDTree-gi*
-Default key: gi
-Map option: None
-Applies to: files.
-
-The same as |NERDTree-i| except that the cursor is not moved.
-
-The key combo for this mapping is always "g" + NERDTreeMapOpenSplit (see
-|NERDTree-i|).
-
-------------------------------------------------------------------------------
- *NERDTree-!*
-Default key: !
-Map option: NERDTreeMapExecute
-Applies to: files.
-
-Executes the selected file, prompting for arguments first.
-
-------------------------------------------------------------------------------
- *NERDTree-O*
-Default key: O
-Map option: NERDTreeMapOpenRecursively
-Applies to: directories.
-
-Recursively opens the selelected directory.
-
-All files and directories are cached, but if a directory would not be
-displayed due to file filters (see |'NERDTreeIgnore'| |NERDTree-f|) or the
-hidden file filter (see |'NERDTreeShowHidden'|) then its contents are not
-cached. This is handy, especially if you have .svn directories.
-
-------------------------------------------------------------------------------
- *NERDTree-x*
-Default key: x
-Map option: NERDTreeMapCloseDir
-Applies to: files and directories.
-
-Closes the parent of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-X*
-Default key: X
-Map option: NERDTreeMapCloseChildren
-Applies to: directories.
-
-Recursively closes all children of the selected directory.
-
-Tip: To quickly "reset" the tree, use |NERDTree-P| with this mapping.
-
-------------------------------------------------------------------------------
- *NERDTree-e*
-Default key: e
-Map option: NERDTreeMapOpenExpl
-Applies to: files and directories.
-
-|:edit|s the selected directory, or the selected file's directory. This could
-result in a NERD tree or a netrw being opened, depending on
-|'NERDTreeHijackNetrw'|.
-
-------------------------------------------------------------------------------
- *NERDTree-D*
-Default key: D
-Map option: NERDTreeMapDeleteBookmark
-Applies to: lines in the bookmarks table
-
-Deletes the currently selected bookmark.
-
-------------------------------------------------------------------------------
- *NERDTree-P*
-Default key: P
-Map option: NERDTreeMapJumpRoot
-Applies to: no restrictions.
-
-Jump to the tree root.
-
-------------------------------------------------------------------------------
- *NERDTree-p*
-Default key: p
-Map option: NERDTreeMapJumpParent
-Applies to: files and directories.
-
-Jump to the parent node of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-K*
-Default key: K
-Map option: NERDTreeMapJumpFirstChild
-Applies to: files and directories.
-
-Jump to the first child of the current nodes parent.
-
-If the cursor is already on the first node then do the following:
- * loop back thru the siblings of the current nodes parent until we find an
- open dir with children
- * go to the first child of that node
-
-------------------------------------------------------------------------------
- *NERDTree-J*
-Default key: J
-Map option: NERDTreeMapJumpLastChild
-Applies to: files and directories.
-
-Jump to the last child of the current nodes parent.
-
-If the cursor is already on the last node then do the following:
- * loop forward thru the siblings of the current nodes parent until we find
- an open dir with children
- * go to the last child of that node
-
-------------------------------------------------------------------------------
- *NERDTree-c-j*
-Default key: <C-j>
-Map option: NERDTreeMapJumpNextSibling
-Applies to: files and directories.
-
-Jump to the next sibling of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-c-k*
-Default key: <C-k>
-Map option: NERDTreeMapJumpPrevSibling
-Applies to: files and directories.
-
-Jump to the previous sibling of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-C*
-Default key: C
-Map option: NERDTreeMapChdir
-Applies to: directories.
-
-Make the selected directory node the new tree root. If a file is selected, its
-parent is used.
-
-------------------------------------------------------------------------------
- *NERDTree-u*
-Default key: u
-Map option: NERDTreeMapUpdir
-Applies to: no restrictions.
-
-Move the tree root up a dir (like doing a "cd ..").
-
-------------------------------------------------------------------------------
- *NERDTree-U*
-Default key: U
-Map option: NERDTreeMapUpdirKeepOpen
-Applies to: no restrictions.
-
-Like |NERDTree-u| except that the old tree root is kept open.
-
-------------------------------------------------------------------------------
- *NERDTree-r*
-Default key: r
-Map option: NERDTreeMapRefresh
-Applies to: files and directories.
-
-If a dir is selected, recursively refresh that dir, i.e. scan the filesystem
-for changes and represent them in the tree.
-
-If a file node is selected then the above is done on it's parent.
-
-------------------------------------------------------------------------------
- *NERDTree-R*
-Default key: R
-Map option: NERDTreeMapRefreshRoot
-Applies to: no restrictions.
-
-Recursively refresh the tree root.
-
-------------------------------------------------------------------------------
- *NERDTree-m*
-Default key: m
-Map option: NERDTreeMapFilesystemMenu
-Applies to: files and directories.
-
-Display the filesystem menu. See |NERDTreeFilesysMenu| for details.
-
-------------------------------------------------------------------------------
- *NERDTree-I*
-Default key: I
-Map option: NERDTreeMapToggleHidden
-Applies to: no restrictions.
-
-Toggles whether hidden files (i.e. "dot files") are displayed.
-
-------------------------------------------------------------------------------
- *NERDTree-f*
-Default key: f
-Map option: NERDTreeMapToggleFilters
-Applies to: no restrictions.
-
-Toggles whether file filters are used. See |'NERDTreeIgnore'| for details.
-
-------------------------------------------------------------------------------
- *NERDTree-F*
-Default key: F
-Map option: NERDTreeMapToggleFiles
-Applies to: no restrictions.
-
-Toggles whether file nodes are displayed.
-
-------------------------------------------------------------------------------
- *NERDTree-B*
-Default key: B
-Map option: NERDTreeMapToggleBookmarks
-Applies to: no restrictions.
-
-Toggles whether the bookmarks table is displayed.
-
-------------------------------------------------------------------------------
- *NERDTree-q*
-Default key: q
-Map option: NERDTreeMapQuit
-Applies to: no restrictions.
-
-Closes the NERDtree window.
-
-------------------------------------------------------------------------------
- *NERDTree-?*
-Default key: ?
-Map option: NERDTreeMapHelp
-Applies to: no restrictions.
-
-Toggles whether the quickhelp is displayed.
-
-------------------------------------------------------------------------------
-2.3. The filesystem menu *NERDTreeFilesysMenu*
-
-The purpose of the filesystem menu is to allow you to perform basic filesystem
-operations quickly from the NERD tree rather than the console.
-
-The filesystem menu can be accessed with 'm' mapping and has four supported
-operations: >
- 1. Adding nodes.
- 2. Move nodes.
- 3. Deleting nodes.
- 3. Copying nodes.
-<
-1. Adding nodes:
-To add a node move the cursor onto (or anywhere inside) the directory you wish
-to create the new node inside. Select the 'add node' option from the
-filesystem menu and type a filename. If the filename you type ends with a '/'
-character then a directory will be created. Once the operation is completed,
-the cursor is placed on the new node.
-
-2. Move nodes:
-To move/rename a node, put the cursor on it and select the 'move' option from
-the filesystem menu. Enter the new location for the node and it will be
-moved. If the old file is open in a buffer, you will be asked if you wish to
-delete that buffer. Once the operation is complete the cursor will be placed
-on the renamed node.
-
-3. Deleting nodes:
-To delete a node put the cursor on it and select the 'delete' option from the
-filesystem menu. After confirmation the node will be deleted. If a file is
-deleted but still exists as a buffer you will be given the option to delete
-that buffer.
-
-4. Copying nodes:
-To copy a node put the cursor on it and select the 'copy' option from the
-filesystem menu. Enter the new location and you're done. Note: copying is
-currently only supported for *nix operating systems. If someone knows a
-one line copying command for windows that doesnt require user confirmation
-then id be grateful if you'd email me.
-
-==============================================================================
-3. Customisation *NERDTreeOptions*
-
-
-------------------------------------------------------------------------------
-3.1. Customisation summary *NERDTreeOptionSummary*
-
-The script provides the following options that can customise the behaviour the
-NERD tree. These options should be set in your vimrc.
-
-|'loaded_nerd_tree'| Turns off the script.
-
-|'NERDChristmasTree'| Tells the NERD tree to make itself colourful
- and pretty.
-
-|'NERDTreeAutoCenter'| Controls whether the NERD tree window centers
- when the cursor moves within a specified
- distance to the top/bottom of the window.
-|'NERDTreeAutoCenterThreshold'| Controls the sensitivity of autocentering.
-
-|'NERDTreeCaseSensitiveSort'| Tells the NERD tree whether to be case
- sensitive or not when sorting nodes.
-
-|'NERDTreeChDirMode'| Tells the NERD tree if/when it should change
- vim's current working directory.
-
-|'NERDTreeHighlightCursorline'| Tell the NERD tree whether to highlight the
- current cursor line.
-
-|'NERDTreeHijackNetrw'| Tell the NERD tree whether to replace the netrw
- autocommands for exploring local directories.
-
-|'NERDTreeIgnore'| Tells the NERD tree which files to ignore.
-
-|'NERDTreeBookmarksFile'| Where the bookmarks are stored.
-
-|'NERDTreeMouseMode'| Tells the NERD tree how to handle mouse
- clicks.
-
-|'NERDTreeQuitOnOpen'| Closes the tree window after opening a file.
-
-|'NERDTreeShowBookmarks'| Tells the NERD tree whether to display the
- bookmarks table on startup.
-
-|'NERDTreeShowFiles'| Tells the NERD tree whether to display files
- in the tree on startup.
-
-|'NERDTreeShowHidden'| Tells the NERD tree whether to display hidden
- files on startup.
-
-|'NERDTreeShowLineNumbers'| Tells the NERD tree whether to display line
- numbers in the tree window.
-
-|'NERDTreeSortOrder'| Tell the NERD tree how to sort the nodes in
- the tree.
-
-|'NERDTreeWinPos'| Tells the script where to put the NERD tree
- window.
-
-|'NERDTreeWinSize'| Sets the window size when the NERD tree is
- opened.
-
-------------------------------------------------------------------------------
-3.2. Customisation details *NERDTreeOptionDetails*
-
-To enable any of the below options you should put the given line in your
-~/.vimrc
-
- *'loaded_nerd_tree'*
-If this plugin is making you feel homicidal, it may be a good idea to turn it
-off with this line in your vimrc: >
- let loaded_nerd_tree=1
-<
-------------------------------------------------------------------------------
- *'NERDChristmasTree'*
-Values: 0 or 1.
-Default: 1.
-
-If this option is set to 1 then some extra syntax highlighting elements are
-added to the nerd tree to make it more colourful.
-
-Set it to 0 for a more vanilla looking tree.
-
-------------------------------------------------------------------------------
- *'NERDTreeAutoCenter'*
-Values: 0 or 1.
-Default: 1
-
-If set to 1, the NERD tree window will center around the cursor if it moves to
-within |'NERDTreeAutoCenterThreshold'| lines of the top/bottom of the window.
-
-This is ONLY done in response to tree navigation mappings,
-i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-c-K| |NERDTree-p|
-|NERDTree-P|
-
-The centering is done with a |zz| operation.
-
-------------------------------------------------------------------------------
- *'NERDTreeAutoCenterThreshold'*
-Values: Any natural number.
-Default: 3
-
-This option controls the "sensitivity" of the NERD tree auto centering. See
-|'NERDTreeAutoCenter'| for details.
-
-------------------------------------------------------------------------------
- *'NERDTreeCaseSensitiveSort'*
-Values: 0 or 1.
-Default: 0.
-
-By default the NERD tree does not sort nodes case sensitively, i.e. nodes
-could appear like this: >
- bar.c
- Baz.c
- blarg.c
- boner.c
- Foo.c
-<
-But, if you set this option to 1 then the case of the nodes will be taken into
-account. The above nodes would then be sorted like this: >
- Baz.c
- Foo.c
- bar.c
- blarg.c
- boner.c
-<
-------------------------------------------------------------------------------
- *'NERDTreeChDirMode'*
-
-Values: 0, 1 or 2.
-Default: 0.
-
-Use this option to tell the script when (if at all) to change the current
-working directory (CWD) for vim.
-
-If it is set to 0 then the CWD is never changed by the NERD tree.
-
-If set to 1 then the CWD is changed when the NERD tree is first loaded to the
-directory it is initialized in. For example, if you start the NERD tree with >
- :NERDTree /home/marty/foobar
-<
-then the CWD will be changed to /home/marty/foobar and will not be changed
-again unless you init another NERD tree with a similar command.
-
-If the option is set to 2 then it behaves the same as if set to 1 except that
-the CWD is changed whenever the tree root is changed. For example, if the CWD
-is /home/marty/foobar and you make the node for /home/marty/foobar/baz the new
-root then the CWD will become /home/marty/foobar/baz.
-
-------------------------------------------------------------------------------
- *'NERDTreeHighlightCursorline'*
-Values: 0 or 1.
-Default: 1.
-
-If set to 1, the current cursor line in the NERD tree buffer will be
-highlighted. This is done using the |cursorline| option.
-
-------------------------------------------------------------------------------
- *'NERDTreeHijackNetrw'*
-Values: 0 or 1.
-Default: 1.
-
-If set to 1, doing a >
- :edit <some directory>
-<
-will open up a "secondary" NERD tree instead of a netrw in the target window.
-
-Secondary NERD trees behaves slighly different from a regular trees in the
-following respects:
- 1. 'o' will open the selected file in the same window as the tree,
- replacing it.
- 2. you can have as many secondary tree as you want in the same tab.
-
-------------------------------------------------------------------------------
- *'NERDTreeIgnore'*
-Values: a list of regular expressions.
-Default: ['\~$'].
-
-This option is used to specify which files the NERD tree should ignore. It
-must be a list of regular expressions. When the NERD tree is rendered, any
-files/dirs that match any of the regex's in 'NERDTreeIgnore' wont be
-displayed.
-
-For example if you put the following line in your vimrc: >
- let NERDTreeIgnore=['\.vim$', '\~$']
-<
-then all files ending in .vim or ~ will be ignored.
-
-Note: to tell the NERD tree not to ignore any files you must use the following
-line: >
- let NERDTreeIgnore=[]
-<
-
-The file filters can be turned on and off dynamically with the |NERDTree-f|
-mapping.
-
-------------------------------------------------------------------------------
- *'NERDTreeBookmarksFile'*
-Values: a path
-Default: $HOME/.NERDTreeBookmarks
-
-This is where bookmarks are saved. See |NERDTreeBookmarkCommands|.
-
-------------------------------------------------------------------------------
- *'NERDTreeMouseMode'*
-Values: 1, 2 or 3.
-Default: 1.
-
-If set to 1 then a double click on a node is required to open it.
-If set to 2 then a single click will open directory nodes, while a double
-click will still be required for file nodes.
-If set to 3 then a single click will open any node.
-
-Note: a double click anywhere on a line that a tree node is on will
-activate it, but all single-click activations must be done on name of the node
-itself. For example, if you have the following node: >
- | | |-application.rb
-<
-then (to single click activate it) you must click somewhere in
-'application.rb'.
-
-------------------------------------------------------------------------------
- *'NERDTreeQuitOnOpen'*
-
-Values: 0 or 1.
-Default: 0
-
-If set to 1, the NERD tree window will close after opening a file with the
-|NERDTree-o| or |NERDTree-i| mappings.
-
-------------------------------------------------------------------------------
- *'NERDTreeShowBookmarks'*
-Values: 0 or 1.
-Default: 0.
-
-If this option is set to 1 then the bookmarks table will be displayed.
-
-This option can be toggled dynamically, per tree, with the |NERDTree-B|
-mapping.
-
-------------------------------------------------------------------------------
- *'NERDTreeShowFiles'*
-Values: 0 or 1.
-Default: 1.
-
-If this option is set to 1 then files are displayed in the NERD tree. If it is
-set to 0 then only directories are displayed.
-
-This option can be toggled dynamically, per tree, with the |NERDTree-F|
-mapping and is useful for drastically shrinking the tree when you are
-navigating to a different part of the tree.
-
-------------------------------------------------------------------------------
- *'NERDTreeShowHidden'*
-Values: 0 or 1.
-Default: 0.
-
-This option tells vim whether to display hidden files by default. This option
-can be dynamically toggled, per tree, with the |NERDTree-I| mapping. Use one
-of the follow lines to set this option: >
- let NERDTreeShowHidden=0
- let NERDTreeShowHidden=1
-<
-
-------------------------------------------------------------------------------
- *'NERDTreeShowLineNumbers'*
-Values: 0 or 1.
-Default: 0.
-
-This option tells vim whether to display line numbers for the NERD tree
-window. Use one of the follow lines to set this option: >
- let NERDTreeShowLineNumbers=0
- let NERDTreeShowLineNumbers=1
-<
-
-------------------------------------------------------------------------------
- *'NERDTreeSortOrder'*
-Values: a list of regular expressions.
-Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$']
-
-This option is set to a list of regular expressions which are used to
-specify the order of nodes under their parent.
-
-For example, if the option is set to: >
- ['\.vim$', '\.c$', '\.h$', '*', 'foobar']
-<
-then all .vim files will be placed at the top, followed by all .c files then
-all .h files. All files containing the string 'foobar' will be placed at the
-end. The star is a special flag: it tells the script that every node that
-doesnt match any of the other regexps should be placed here.
-
-If no star is present in 'NERDTreeSortOrder' then one is automatically
-appended to the array.
-
-The regex '\/$' should be used to match directory nodes.
-
-After this sorting is done, the files in each group are sorted alphabetically.
-
-Other examples: >
- (1) ['*', '\/$']
- (2) []
- (3) ['\/$', '\.rb$', '\.php$', '*', '\.swp$', '\.bak$', '\~$']
-<
-1. Directories will appear last, everything else will appear above.
-2. Everything will simply appear in alphabetical order.
-3. Dirs will appear first, then ruby and php. Swap files, bak files and vim
- backup files will appear last with everything else preceding them.
-
-------------------------------------------------------------------------------
- *'NERDTreeWinPos'*
-Values: "left" or "right"
-Default: "left".
-
-This option is used to determine where NERD tree window is placed on the
-screen.
-
-This option is makes it possible to use two different explorer type
-plugins simultaneously. For example, you could have the taglist plugin on the
-left of the window and the NERD tree on the right.
-
-------------------------------------------------------------------------------
- *'NERDTreeWinSize'*
-Values: a positive integer.
-Default: 31.
-
-This option is used to change the size of the NERD tree when it is loaded.
-
-==============================================================================
-4. Hacking the NERD tree *NERDTreeHacking*
-
-Public functions ~
-
-The script provides 2 public functions for your hacking pleasure. Their
-signatures are: >
- function! NERDTreeGetCurrentNode()
- function! NERDTreeGetCurrentPath()
-<
-The first returns the node object that the cursor is currently on, while the
-second returns the corresponding path object.
-
-This is probably a good time to mention that the script implements prototype
-style OO. To see the functions that each class provides you can read look at
-the code.
-
-Use the node objects to manipulate the structure of the tree. Use the path
-objects to access the files/directories the tree nodes represent.
-
-The NERD tree filetype ~
-
-NERD tree buffers have a filetype of "nerdtree". You can use this to hack the
-NERD tree via autocommands (on |FileType|) or via an ftplugin.
-
-For example, putting this code in ~/.vim/ftplugin/nerdtree.vim would override
-the o mapping, making it open the selected node in a new gvim instance. >
-
- nnoremap <silent> <buffer> o :call <sid>openInNewVimInstance()<cr>
- function! s:openInNewVimInstance()
- let p = NERDTreeGetCurrentPath()
- if p != {}
- silent exec "!gvim " . p.strForOS(1) . "&"
- endif
- endfunction
-<
-This way you can add new mappings or :commands or override any existing
-mapping.
-
-==============================================================================
-5. TODO list *NERDTreeTodo*
-
-Window manager integration?
-
-==============================================================================
-6. The Author *NERDTreeAuthor*
-
-The author of the NERD tree is a terrible terrible monster called Martyzilla
-who gobbles up small children with milk and sugar for breakfast.
-
-He can be reached at martin_grenfell at msn.com. He would love to hear from
-you, so feel free to send him suggestions and/or comments about this plugin.
-Don't be shy --- the worst he can do is slaughter you and stuff you in the
-fridge for later ;)
-
-==============================================================================
-7. Changelog *NERDTreeChangelog*
-
-3.0.0
- - hijack netrw so that doing an :edit <directory> will put a NERD tree in
- the window rather than a netrw browser. See :help 'NERDTreeHijackNetrw'
- - allow sharing of trees across tabs, see :help :NERDTreeMirror
- - remove "top" and "bottom" as valid settings for NERDTreeWinPos
- - change the '<tab>' mapping to 'i'
- - change the 'H' mapping to 'I'
- - lots of refactoring
-
-2.14.3
- Thanks to tpope for the following:
- - use relative paths when doing edit commands if possible (useful if you
- have %f on your statusline for example)
- - allow relative paths for :NERDTree commands, eg ":NERDTree ../foo"
- - fix a bug where the script used the directory of the current buffer
- instead of vims cwd for the :NERDTree command
- - bugfix for read only node highlighting
-
-2.14.2
- - when opening a file (with 'o' or double click) dont split the window
- unless we absolutely have to. This should make the script work better
- with other explorer plugins. Thanks to Ryan Penn, Simon Peter Nicholls
- and Michael
- - fix a bug where directories starting with a '+' char could not be opened.
- Thanks to Tomasz Chomiuk.
- - fix a bug where closing vim with :qa with a tree open in another tab
- would break, thanks to Denis Pokataev.
- - compatibility bugfix for older versions of vim, thanks to knekk for
- helping me track it down and to Sean Chou.
-
-2.14.1
- - dont clobber &cpo. Thanks to godlygeek for the bug report.
-
-2.14.0
- - fix a bug where the <c-w>o mapping would cause the tree window to be
- incorrectly sized when reopened.
- - add keymapping to delete bookmarks from the bookmarks table, see
- :help NERDTree-D
- - lots of refactoring
-2.13.0
- - make NERDTreeChDir option default to 0 (i.e. never change vims current
- working dir by default)
- - when moving/deleting nodes with the filesystem menu, move/delete any
- associated bookmarks
- - make the t/T on directory nodes open a fresh NERD tree for the selected
- dir in a new tab, rather than a netrw.
- - place the cursor at the top of the bookmarks table when opening it with B
- - make NERDTreeQuitOnOpen option work with the g<tab> and go mappings,
- thanks to Maxim Kim for the bug report
- - change how invalid bookmarks are handled. Now they are not deleted. If a
- bookmark is malformed (in the bookmarks file) or points to an
- invalid/nonexisting location then print an error and place the offending
- bookmarks at the bottom of the bookmarks file. See :help
- |NERDTreeInvalidBookmarks| for info. Thanks to Zhang Shuhan for the
- suggestion and the testing.
- - fix a bug with the 'o' mapping that occurred when opening a new buffer
- for a file whose name was a substring of an already open file. Thanks to
- Charlton Wang for the report.
- - stop the script from going into an infinite loop when it tries to cache
- a named pipe. Thanks to Charlton Wang for the report.
-
-2.12.0
- - added a UI for bookmarks. See :help NERDTreeBookmarkTable for details.
- Thanks to Zhang Shuhan for testing and bug reports.
- - relaxed the restrictions on bookmark names, now the only restriction is
- that they cant contain spaces. This allows for e.g. Chinese bookmark
- names. Thanks to Zhang Shuhan for the suggestion.
- - combined the NERDTreeWinPos and NERDTreeSplitVertical options. See :help
- NERDTreeWinPos.
- - applied a patch from Matan Nassau to add the NERDTreeQuitOnOpen option
- which closes the tree window after opening a file. See :help
- NERDTreeQuitOnOpen.
- - optimised the nerd tree rendering. Now it takes just over 1/3 of the
- time it previously took to render.
- - now the tree filter mappings toggle the filters "per tree" rather than
- globally. The global filter variables are used to set the initial filter
- settings for each new NERD tree.
- - fix to window resizing when opening a file when NERD tree is the only
- window open
- - other fixes
-
-2.11.0
- - changes to the 'o' mapping when opening files:
- - dont clobber "special" windows (eg taglist/quickfix/etc). This should
- make the NERD tree play nicer with other explorer plugins. Thanks to
- Yuan Jiang for the suggestion.
- - if the file is already open in the current tab, just move the cursor
- to that window
- - highlight executable files, made some slight changes to other
- highlighting
- - if the user resizes the tree window, keep that new size. Dont reset to
- the default during the <tab> mapping, or :NERDTreeToggle command. Only
- reset the size if a fresh tree is started with :NERDTree.
- - remove the "magic" functionality from the <c-j>/<c-k> mappings (it was
- more confusing than helpful)
- - other minor fixes
-
-2.10.0
- - added bookmarks, see :help NERDTreeBookmarkCommands for details. Thanks
- to Piotr Czachur for all his testing and suggestions.
- - fixed screen jumping bug with when &scrolloff != 0
- - fixed some bugs with copying nodes
- - other random fixes
- - change license to wtfpl
-
-2.9.0
-
- - path handling improvements, thanks to Zhang Shuhan for heaps of
- testing/bug reports
- * improved how paths are stored, now the script will no longer get
- confused about drives on MF Windows
- * made the script way better at handling paths with strange characters
- in them (eg '$@; etc)
- - applied a patch from Cory Echols
- * add the command :NERDTreeClose to close the tree for the current tab
- * set the filetype for the NERD tree buffer to "nerdtree"
-
-2.8.0
- - added an option to enable/disable line numbers in the NERD tree window,
- thanks to Olivier Yiptong for the email.
-
-2.7.1
- - Changed the keys for the filesystem menu to be mnemonic rather than
- arbitrary integers
- - Documented the copying functionality in the filesystem menu
-
-2.7.0
- - Bug fix: Now when you have the tree on the right and you open it with
- multiple windows stacked, it will take up the full height of the vim
- window.
- - Now line numbers always turned off in the tree by default
- - Implemented copying of nodes (via the filesystem menu) for *nix/macosx
- - took the help doc out of the script and repackaged the whole thing as a
- zip
-
-2.6.2
- - Now when you try to open a file node into a window that is modified, the
- window is not split if the &hidden option is set. Thanks to Niels Aan
- de Brugh for this suggestion.
-
-2.6.1
- - Fixed a major bug with the <tab> mapping. Thanks to Zhang Weiwu for
- emailing me.
-
-2.6.0
- - Extended the behaviour of <c-j/k>. Now if the cursor is on a file node
- and you use <c-j/k> the cursor will jump to its PARENTS next/previous
- sibling. Go :help NERDTree-c-j and :help NERDTree-c-k for info.
- - Extended the behaviour of the J/K mappings. Now if the cursor is on the
- last child of a node and you push J/K it will jump down to the last
- child of the next/prev of its parents siblings that is open and has
- children. Go :help NERDTree-J and :help NERDTree-K for info.
- - The goal of these changes is to make tree navigation faster.
- - Reorganised the help page a bit.
- - Removed the E mapping.
- - bugfixes
-
-2.5.0
- - Added an option to enforce case sensitivity when sorting tree nodes.
- Read :help NERDTreeCaseSensitiveSort for details. (thanks to Michael
- Madsen for emailing me about this). Case sensitivity defaults to off.
- - Made the script echo a "please wait" style message when opening large
- directories. Thanks to AOYAMA Shotaro for this suggestion.
- - Added 2 public functions that can be used to retrieve the treenode and
- path that the cursor is on. Read :help NERDTreePublicFunctions for
- details (thanks again to AOYAMA Shotaro for the idea :).
- - added 2 new mappings for file nodes: "g<tab>" and "go". These are the
- same as the "<tab>" and "o" maps except that the cursor stays in the
- NERDTree. Note: these maps are slaved to the o and <tab> mappings, so if
- eg you remap "<tab>" to "i" then the "g<tab>" map will also be changed
- to "gi".
- - Renamed many of the help tags to be simpler.
- - Simplified the ascii "graphics" for the filesystem menu
- - Fixed bugs.
- - Probably created bugs.
- - Refactoring.
-
-2.4.0
- - Added the P mapping to jump to the tree root.
- - Added window centering functionality that can be triggered when doing
- using any of the tree nav mappings. Essentially, if the cursor comes
- within a certain distance of the top/bottom of the window then a zz is
- done in the window. Two related options were added: NERDTreeAutoCenter
- to turn this functionality on/off, and NERDTreeAutoCenterThreshold to
- control how close the cursor has to be to the window edge to trigger the
- centering.
-
-2.3.0
- - Tree navigation changes:
- - Added J and K mappings to jump to last/first child of the current dir.
- Options to customise these mappings have also been added.
- - Remapped the jump to next/prev sibling commands to be <C-j> and <C-k>
- by default.
- These changes should hopefully make tree navigation mappings easier to
- remember and use as the j and k keys are simply reused 3 times (twice
- with modifier keys).
-
- - Made it so that, when any of the tree filters are toggled, the cursor
- stays with the selected node (or goes to its parent/grandparent/... if
- that node is no longer visible)
- - Fixed an error in the doc for the mouse mode option.
- - Made the quickhelp correctly display the current single/double click
- mappings for opening nodes as specified by the NERDTreeMouseMode option.
- - Fixed a bug where the script was spazzing after prompting you to delete
- a modified buffer when using the filesystem menu.
- - Refactoring
-2.2.3
- - Refactored the :echo output from the script.
- - Fixed some minor typos in the doc.
- - Made some minor changes to the output of the 'Tree filtering mappings'
- part of the quickhelp
-
-2.2.2
- - More bugfixes... doh.
-
-2.2.1
- - Bug fix that was causing an exception when closing the nerd tree. Thanks
- to Tim carey-smith and Yu Jun for pointing this out.
-
-2.2.0
- - Now 'cursorline' is set in the NERD tree buffer by default. See :help
- NERDTreeHighlightCursorline for how to disable it.
-
-2.1.2
- - Stopped the script from clobbering the 1,2,3 .. 9 registers.
- - Made it "silent!"ly delete buffers when renaming/deleting file nodes.
- - Minor correction to the doc
- - Fixed a bug when refreshing that was occurring when the node you
- refreshed had been deleted externally.
- - Fixed a bug that was occurring when you open a file that is already open
- and modified.
-
-2.1.1
- - Added a bit more info about the buffers you are prompted to delete when
- renaming/deleting nodes from the filesystem menu that are already loaded
- into buffers.
- - Refactoring and bugfixes
-
-2.1.0
- - Finally removed the blank line that always appears at the top of the
- NERDTree buffer
- - Added NERDTreeMouseMode option. If set to 1, then a double click is
- required to activate all nodes, if set to 2 then a single click will
- activate directory nodes, if set to 3 then a single click will activate
- all nodes.
- - Now if you delete a file node and have it open in a buffer you are given
- the option to delete that buffer as well. Similarly if you rename a file
- you are given the option to delete any buffers containing the old file
- (if any exist)
- - When you rename or create a node, the cursor is now put on the new node,
- this makes it easy immediately edit the new file.
- - Fixed a bug with the ! mapping that was occurring on windows with paths
- containing spaces.
- - Made all the mappings customisable. See |NERD_tree-mappings| for
- details. A side effect is that a lot of the "double mappings" have
- disappeared. E.g 'o' is now the key that is used to activate a node,
- <CR> is no longer mapped to the same.
- - Made the script echo warnings in some places rather than standard echos
- - Insane amounts of refactoring all over the place.
-
-2.0.0
- - Added two new NERDChristmasTree decorations. First person to spot them
- and email me gets a free copy of the NERDTree.
- - Made it so that when you jump around the tree (with the p, s and S
- mappings) it is counted as a jump by vim. This means if you, eg, push
- 'p' one too many times then you can go `` or ctrl-o.
- - Added a new option called NERDTreeSortOrder which takes an array of
- regexs and is used to determine the order that the treenodes are listed
- in. Go :help NERDTreeSortOrder for details.
- - Removed the NERDTreeSortDirs option because it is consumed by
- NERDTreeSortOrder
- - Added the 'i' mapping which is the same as <tab> but requires less
- effort to reach.
- - Added the ! mapping which is used to execute file in the tree (after it
- prompts you for arguments etc)
-
-
-==============================================================================
-8. Credits *NERDTreeCredits*
-
-Thanks to Tim Carey-Smith for testing/using the NERD tree from the first
-pre-beta version, for his many suggestions and for his constant stream of bug
-complaints.
-
-Thanks to Vigil for trying it out before the first release :) and suggesting
-that mappings to open files in new tabs should be implemented.
-
-Thanks to Nick Brettell for testing, fixing my spelling and suggesting i put a
- .. (up a directory)
-line in the gui.
-
-Thanks to Thomas Scott Urban - the author of the vtreeexplorer plugin - whose
-gui code i borrowed from.
-
-Thanks to Terrance Cohen for pointing out a bug where the script was changing
-vims CWD all over the show.
-
-Thanks to Yegappan Lakshmanan (author of Taglist and other orgasmically
-wonderful plugins) for telling me how to fix a bug that was causing vim to go
-into visual mode everytime you double clicked a node :)
-
-Thanks to Jason Mills for sending me a fix that allows windows paths to use
-forward slashes as well as backward.
-
-Thanks to Michael Geddes (frogonwheels on #vim at freenode) for giving me some
-tips about syntax highlighting when i was doing highlighting for the
-quickhelp.
-
-Thanks to Yu Jun for emailing me about a bug that was occurring when closing
-the tree.
-
-Thanks to Michael Madsen for emailing me about making case sensitivity
-optional when sorting nodes.
-
-Thanks to AOYAMA Shotaro for suggesting that i echo a "please wait" message
-when opening large directories.
-
-Thanks to Michael Madsen for requesting the NERDTreeCaseSensitiveSort option.
-
-Thanks to AOYAMA Shotaro for suggesting that a "please wait" style message be
-echoed when opening large directories. Also, thanks for the suggestion of
-having public functions in the script to access the internal data :D
-
-Thanks to Zhang Weiwu for emailing me about a bug with the the <tab> mapping
-in 2.6.0
-
-Thanks to Niels Aan de Brugh for the suggestion that the script now split the
-window if you try to open a file in a window containing a modified buffer when
-the &hidden option is set.
-
-Thanks to Olivier Yiptong for prompting me to make line numbers in the
-NERD tree window optional.
-
-Thanks to Zhang Shuhan for all of his emails and testing to help improve the
-NERD tree path handling. Thanks also for suggesting the bookmarks gui, and for
-testing and his many suggestions and bugreports about bookmarks.
-
-Thanks to Cory Echols for sending a patch to add the :NERDTreeClose command and
-set the NERD tree buffers filetype to 'nerdtree'
-
-Thanks to Piotr Czachur for all his suggestions and testing for the bookmarks
-feature.
-
-Thanks to Yuan Jiang for suggesting the "o" mapping shouldnt clobber "special"
-windows, like taglist.
-
-Thanks to Matan Nassau for the patch to add the NERDTreeQuitOnOpen option.
-
-Thanks to Maxim Kim for reporting a bug with g<tab> and go mappings when
-NERDTreeQuitOnOpen was set.
-
-Thanks to Charlton Wang for reporting bugs with the 'o' mapping and with
-handling named pipes.
-
-Chur to godlygeek for reporting a bug where &cpo was getting clobbered.
-
-Cheers to knekk for helping me track down a bug when overwriting dictionary
-keys that only occurred in some versions of vim.
-
-Thanks also to Sean Chou for the bug report about the above bug.
-
-Thanks to Ryan Penn, Simon Peter Nicholls and Michael for pointing out an issue
-where the script was splitting constantly when using the 'o' mapping while
-other explorers were open.
-
-Thanks to Tomasz Chomiuk for the bug report about the script failing when dir
-names began with a +.
-
-Thanks to Denis Pokataev for the bug report about the script failing when
-closing vim with :qa with a tree open in another tab.
-
-Thanks to tpope for his dope bug reporting.
-
-==============================================================================
-9. License *NERDTreeLicense*
-
-The NERD tree is released under the wtfpl.
-See http://sam.zoy.org/wtfpl/COPYING.