aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/plugged/nerdtree/doc/NERDTree.txt
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/plugged/nerdtree/doc/NERDTree.txt')
-rw-r--r--.config/nvim/plugged/nerdtree/doc/NERDTree.txt1528
1 files changed, 0 insertions, 1528 deletions
diff --git a/.config/nvim/plugged/nerdtree/doc/NERDTree.txt b/.config/nvim/plugged/nerdtree/doc/NERDTree.txt
deleted file mode 100644
index 47d65cc..0000000
--- a/.config/nvim/plugged/nerdtree/doc/NERDTree.txt
+++ /dev/null
@@ -1,1528 +0,0 @@
-*NERDTree.txt* A tree explorer plugin to rule the Vim world. Bwahahaha!!
-
- # #### #### ~
- ### \/#|### |/#### ~
- d8 888 ##\/#/ \||/##/_/##/_# ~
- d88 888 ee ,e e, ### \/###|/ \/ # ### ~
- d88888 888 88b d88 88b ##_\_#\_\## | #/###_/_#### ~
- 888 888 888 888 , ## #### # \ #| / #### ##/## ~
- 888 888 888 "YeeP" __#_--###`. |{,###---###-~ ~
- \ % @% ~
- Y88b Y88 888'Y88 888 88e 888 88e \%@% 88P'888'Y88 ~
- Y88b Y8 888 ,'Y 888 888D 888 888b %o% P' 888 'Y 888,8, ,e e, ,e e, ~
- b Y88b Y 888C8 888 88" 888 8888D %@% 888 888 " d88 88b d88 88b ~
- 8b Y88b 888 ",d 888 b, 888 888P %@% 888 888 888 , 888 , ~
- 88b Y88b 888,d88 888 88b, 888 88" %@% 888 888 "YeeP" "YeeP" ~
- , -=-%{@%-^- _ ~
- ejm `} 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.NERDTree mappings.................|NERDTreeMappings|
- 2.4.The NERDTree menu.................|NERDTreeMenu|
- 3.Settings................................|NERDTreeSettings|
- 3.1.Settings summary..................|NERDTreeSettingsSummary|
- 3.2.Settings details..................|NERDTreeSettingsDetails|
- 4.The NERDTree API........................|NERDTreeAPI|
- 4.1.Key map API.......................|NERDTreeKeymapAPI|
- 4.2.Menu API..........................|NERDTreeMenuAPI|
- 4.3.Menu API..........................|NERDTreeAddPathFilter()|
- 4.4.Path Listener API.................|NERDTreePathListenerAPI|
- 5.About...................................|NERDTreeAbout|
- 6.License.................................|NERDTreeLicense|
-
-==============================================================================
-1. Intro *NERDTree*
-
-What is this "NERDTree"??
-
-The NERDTree 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 NERDTree:
- * 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 NERDTree 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
- * The position and size of the NERDTree 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 NERDTree window will appear exactly
- as you left it
- * You can have a separate NERDTree for each tab, share trees across tabs,
- or a mix of both.
- * By default the script overrides the default file browser (netrw), so if
- you :edit a directory a (slightly modified) NERDTree will appear in the
- current window
- * A programmable menu system is provided (simulates right clicking on a
- node)
- * one default menu plugin is provided to perform basic filesystem
- operations (create/delete/move/copy files/directories)
- * There's an API for adding your own keymappings
-
-
-==============================================================================
-2. Functionality provided *NERDTreeFunctionality*
-
-------------------------------------------------------------------------------
-2.1. Global Commands *NERDTreeGlobalCommands*
-
-:NERDTree [<start-directory> | <bookmark>] *:NERDTree*
- Opens a fresh NERDTree. 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)
-<
-:NERDTreeVCS [<start-directory> | <bookmark>] *:NERDTreeVCS*
- Like |:NERDTree|, but searches up the directory tree to find the top of
- the version control system repository, and roots the NERDTree there. It
- works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A
- couple of examples: >
- :NERDTreeVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree)
- :NERDTreeVCS (opens root of repository containing CWD)
-<
-:NERDTreeFromBookmark <bookmark> *:NERDTreeFromBookmark*
- Opens a fresh NERDTree with the root initialized to the dir for
- <bookmark>. The 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 NERDTree already exists for this tab, it is reopened and rendered
- again. If <start-directory> or <bookmark> is given, the root of NERDTree
- is set to that path. If no NERDTree exists for this tab then this command
- acts the same as the |:NERDTree| command.
-
-:NERDTreeToggleVCS [<start-directory> | <bookmark>] *:NERDTreeToggleVCS*
- Like |:NERDTreeToggle|, but searches up the directory tree to find the top of
- the version control system repository, and roots the NERDTree there. It
- works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A
- couple of examples: >
- :NERDTreeToggleVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree)
- :NERDTreeToggleVCS (opens root of repository containing CWD)
-
-:NERDTreeFocus *:NERDTreeFocus*
- Opens (or reopens) the NERDTree if it is not currently visible;
- otherwise, the cursor is moved to the already-open NERDTree.
-
-:NERDTreeMirror *:NERDTreeMirror*
- Shares an existing NERDTree, 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 NERDTree exists, that tree is automatically mirrored.
- If more than one exists, the script will ask which tree to mirror.
-
-:NERDTreeClose *:NERDTreeClose*
- Close the NERDTree in this tab.
-
-:NERDTreeFind [<path>] *:NERDTreeFind*
- Without the optional argument, find and reveal the file for the active
- buffer in the NERDTree window. With the <path> argument, find and
- reveal the specified path.
-
- Focus will be shifted to the NERDTree window, and the cursor will be
- placed on the tree node for the determined path. If a NERDTree for the
- current tab does not exist, a new one will be initialized.
-
-:NERDTreeCWD *:NERDTreeCWD*
- Change the NERDTree root to the current working directory. If no
- NERDTree exists for this tab, a new one is opened.
-
-:NERDTreeRefreshRoot *:NERDTreeRefreshRoot*
- Refreshes the NERDTree root node.
-
-------------------------------------------------------------------------------
-2.2. Bookmarks *NERDTreeBookmarks*
-
-Bookmarks in the NERDTree 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: The following commands are only available within the NERDTree buffer.
-
-:Bookmark [<name>]
- Bookmark the current node as <name>. If there is already a <name>
- bookmark, it is overwritten. <name> must not contain spaces.
- If <name> is not provided, it defaults to the file or directory name.
- For directories, a trailing slash is present.
-
-: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 <name>
- The Bookmark named <name> is opened as if |NERDTree-o| was applied to
- its entry in the Bookmark table. If the Bookmark points to a directory,
- it is made the new root of the current NERDTree. If the Bookmark points
- to a file, that file is opened for editing in another window.
-
-:ClearBookmarks [<bookmarks>]
- Remove all the given bookmarks. If no bookmarks are given then remove all
- bookmarks on the current node.
-
-:ClearAllBookmarks
- Remove all bookmarks.
-
-:EditBookmarks
- Opens the bookmarks file for manual editing, e.g. for removing invalid
- 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 at 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>
-
-You can use the :EditBookmarks command to open the bookmarks file for editing.
-After you have corrected any invalid bookmarks, either restart vim, or run
-:ReadBookmarks from the NERDTree window.
-
-------------------------------------------------------------------------------
-2.3. NERDTree Mappings *NERDTreeMappings*
-
-Default~
-Key Description help-tag~
-
-o........Open files, directories and bookmarks......................|NERDTree-o|
-go.......Open selected file, but leave cursor in the NERDTree......|NERDTree-go|
- Open selected bookmark dir in current NERDTree
-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-gi|
-s........Open selected file in a new vsplit.........................|NERDTree-s|
-gs.......Same as s, but leave the cursor on the NERDTree...........|NERDTree-gs|
-<CR>.....User-definable custom open action.......................|NERDTree-<CR>|
-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 dir.......................................|NERDTree-e|
-
-double-click....same as |NERDTree-o|.
-middle-click....same as |NERDTree-i| for files, and |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 next sibling of the current directory.......|NERDTree-C-J|
-<C-K>....Jump up to 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 NERDTree menu..................................|NERDTree-m|
-cd.......Change the CWD to the dir of the selected node............|NERDTree-cd|
-CD.......Change tree root to the CWD...............................|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|
-A........Zoom (maximize/minimize) the NERDTree window...............|NERDTree-A|
-?........Toggle the display of the quick help.......................|NERDTree-?|
-
-------------------------------------------------------------------------------
- *NERDTree-o*
-Default key: o
-Map setting: 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 setting: NERDTreeMapPreview
-Applies to: files.
-
-If a file node or a bookmark that links to a file is selected, it is opened in
-the previous window, but the cursor does not move.
-
-If a bookmark that links to a directory is selected, that directory is found
-in the current NERDTree. If the directory couldn't be found, a new NERDTree is
-created.
-
-The default key combo for this mapping is "g" + NERDTreeMapActivateNode (see
-|NERDTree-o|).
-
-------------------------------------------------------------------------------
- *NERDTree-t*
-Default key: t
-Map setting: *NERDTreeMapOpenInTab*
-Applies to: files and directories.
-
-Opens the selected file in a new tab. If a directory is selected, a fresh
-NERDTree for that directory is opened in a new tab.
-
-If a bookmark which points to a directory is selected, open a NERDTree 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 setting: *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 setting: *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 setting: *NERDTreeMapPreviewSplit*
-Applies to: files.
-
-The same as |NERDTree-i| except that the cursor is not moved.
-
-The default key combo for this mapping is "g" + NERDTreeMapOpenSplit (see
-|NERDTree-i|).
-
-------------------------------------------------------------------------------
- *NERDTree-s*
-Default key: s
-Map setting: *NERDTreeMapOpenVSplit*
-Applies to: files.
-
-Opens the selected file in a new vertically split window and puts the cursor
-in the new window.
-
-------------------------------------------------------------------------------
- *NERDTree-gs*
-Default key: gs
-Map setting: *NERDTreeMapPreviewVSplit*
-Applies to: files.
-
-The same as |NERDTree-s| except that the cursor is not moved.
-
-The default key combo for this mapping is "g" + NERDTreeMapOpenVSplit (see
-|NERDTree-s|).
-
-------------------------------------------------------------------------------
- *NERDTree-<CR>*
-Default key: <CR>
-Map setting: *NERDTreeMapCustomOpen*
-Applies to: files, directories, and bookmarks
-
-Performs a customized open action on the selected node. This allows the user
-to define an action that behaves differently from any of the standard
-keys. See |NERDTreeCustomOpenArgs| for more details.
-------------------------------------------------------------------------------
- *NERDTree-O*
-Default key: O
-Map setting: *NERDTreeMapOpenRecursively*
-Applies to: directories.
-
-Recursively opens the selected 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 setting: *NERDTreeMapCloseDir*
-Applies to: files and directories.
-
-Closes the parent of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-X*
-Default key: X
-Map setting: *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 setting: *NERDTreeMapOpenExpl*
-Applies to: files and directories.
-
-|:edit|s the selected directory, or the selected file's directory. This could
-result in a NERDTree or a netrw being opened, depending on
-|NERDTreeHijackNetrw|.
-
-------------------------------------------------------------------------------
- *NERDTree-D*
-Default key: D
-Map setting: *NERDTreeMapDeleteBookmark*
-Applies to: lines in the bookmarks table
-
-Deletes the currently selected bookmark.
-
-------------------------------------------------------------------------------
- *NERDTree-P*
-Default key: P
-Map setting: *NERDTreeMapJumpRoot*
-Applies to: no restrictions.
-
-Jump to the tree root.
-
-------------------------------------------------------------------------------
- *NERDTree-p*
-Default key: p
-Map setting: *NERDTreeMapJumpParent*
-Applies to: files and directories.
-
-Jump to the parent node of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-K*
-Default key: K
-Map setting: *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 setting: *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 setting: *NERDTreeMapJumpNextSibling*
-Applies to: files and directories.
-
-Jump to the next sibling of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-C-K*
-Default key: <C-K>
-Map setting: *NERDTreeMapJumpPrevSibling*
-Applies to: files and directories.
-
-Jump to the previous sibling of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-C*
-Default key: C
-Map setting: *NERDTreeMapChangeRoot*
-Applies to: files and 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 setting: *NERDTreeMapUpdir*
-Applies to: no restrictions.
-
-Move the tree root up a dir (like doing a "cd ..").
-
-------------------------------------------------------------------------------
- *NERDTree-U*
-Default key: U
-Map setting: *NERDTreeMapUpdirKeepOpen*
-Applies to: no restrictions.
-
-Like |NERDTree-u| except that the old tree root is kept open.
-
-------------------------------------------------------------------------------
- *NERDTree-r*
-Default key: r
-Map setting: *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 setting: *NERDTreeMapRefreshRoot*
-Applies to: no restrictions.
-
-Recursively refresh the tree root.
-
-------------------------------------------------------------------------------
- *NERDTree-m*
-Default key: m
-Map setting: *NERDTreeMapMenu*
-Applies to: files and directories.
-
-Display the NERDTree menu. See |NERDTreeMenu| for details.
-
-------------------------------------------------------------------------------
- *NERDTree-cd*
-Default key: cd
-Map setting: *NERDTreeMapChdir*
-Applies to: files and directories.
-
-Change Vim's current working directory to that of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-CD*
-Default key: CD
-Map setting: *NERDTreeMapCWD*
-Applies to: no restrictions.
-
-Change the NERDTree root to Vim's current working directory.
-
-------------------------------------------------------------------------------
- *NERDTree-I*
-Default key: I
-Map setting: *NERDTreeMapToggleHidden*
-Applies to: no restrictions.
-
-Toggles whether hidden files (i.e. "dot files") are displayed.
-
-------------------------------------------------------------------------------
- *NERDTree-f*
-Default key: f
-Map setting: *NERDTreeMapToggleFilters*
-Applies to: no restrictions.
-
-Toggles whether file filters are used. See |NERDTreeIgnore| for details.
-
-------------------------------------------------------------------------------
- *NERDTree-F*
-Default key: F
-Map setting: *NERDTreeMapToggleFiles*
-Applies to: no restrictions.
-
-Toggles whether file nodes are displayed.
-
-------------------------------------------------------------------------------
- *NERDTree-B*
-Default key: B
-Map setting: *NERDTreeMapToggleBookmarks*
-Applies to: no restrictions.
-
-Toggles whether the bookmarks table is displayed.
-
-------------------------------------------------------------------------------
- *NERDTree-q*
-Default key: q
-Map setting: *NERDTreeMapQuit*
-Applies to: no restrictions.
-
-Closes the NERDTree window.
-
-------------------------------------------------------------------------------
- *NERDTree-A*
-Default key: A
-Map setting: *NERDTreeMapToggleZoom*
-Applies to: no restrictions.
-
-Maximize (zoom) and minimize the NERDTree window.
-
-------------------------------------------------------------------------------
- *NERDTree-?*
-Default key: ?
-Map setting: *NERDTreeMapHelp*
-Applies to: no restrictions.
-
-Toggles whether the quickhelp is displayed.
-
-------------------------------------------------------------------------------
- 2.3. The NERDTree menu *NERDTreeMenu*
-
-The NERDTree has a menu that can be programmed via the an API (see
-|NERDTreeMenuAPI|). The idea is to simulate the "right click" menus that most
-file explorers have.
-
-The script comes with two default menu plugins: exec_menuitem.vim and
-fs_menu.vim. fs_menu.vim adds some basic filesystem operations to the menu for
-creating/deleting/moving/copying files and dirs. exec_menuitem.vim provides a
-menu item to execute executable files.
-
-Related tags: |NERDTree-m| |NERDTreeApi|
-
-------------------------------------------------------------------------------
- *NERDTreeMenu-j*
-Default key: j
-Map option: *NERDTreeMenuDown*
-Applies to: The NERDTree menu.
-
-Moves the cursor down.
-
-------------------------------------------------------------------------------
- *NERDTreeMenu-k*
-Default key: k
-Map option: *NERDTreeMenuUp*
-Applies to: The NERDTree menu.
-
-Moves the cursor up.
-
-==============================================================================
-3. Customisation *NERDTreeSettings*
-
-
-------------------------------------------------------------------------------
-3.1. Customisation summary *NERDTreeSettingsSummary*
-
-The plugin provides the following settings that can customise the behaviour
-the NERDTree. These settings should be set in your vimrc, using `:let`.
-
-|loaded_nerd_tree| Turns off the script.
-
-|NERDTreeAutoCenter| Controls whether the NERDTree 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 NERDTree whether to be case
- sensitive or not when sorting nodes.
-
-|NERDTreeNaturalSort| Tells the NERDTree whether to use natural sort
- order or not when sorting nodes.
-
-|NERDTreeSortHiddenFirst| Tells the NERDTree whether to take the dot at
- the beginning of the hidden file names into
- account when sorting nodes.
-
-|NERDTreeChDirMode| Tells the NERDTree if/when it should change
- vim's current working directory.
-
-|NERDTreeHighlightCursorline| Tell the NERDTree whether to highlight the
- current cursor line.
-
-|NERDTreeHijackNetrw| Tell the NERDTree whether to replace the netrw
- autocommands for exploring local directories.
-
-|NERDTreeIgnore| Tells the NERDTree which files to ignore.
-
-|NERDTreeRespectWildIgnore| Tells the NERDTree to respect `'wildignore'`.
-
-|NERDTreeBookmarksFile| Where the bookmarks are stored.
-
-|NERDTreeBookmarksSort| Control how the Bookmark table is sorted.
-
-|NERDTreeMarkBookmarks| Render bookmarked nodes with markers.
-
-|NERDTreeMouseMode| Manage the interpretation of mouse clicks.
-
-|NERDTreeQuitOnOpen| Closes the tree window or bookmark table after
- opening a file.
-
-|NERDTreeShowBookmarks| Tells the NERDTree whether to display the
- bookmarks table on startup.
-
-|NERDTreeShowFiles| Tells the NERDTree whether to display files in
- the tree on startup.
-
-|NERDTreeShowHidden| Tells the NERDTree whether to display hidden
- files on startup.
-
-|NERDTreeShowLineNumbers| Tells the NERDTree whether to display line
- numbers in the tree window.
-
-|NERDTreeSortOrder| Tell the NERDTree how to sort the nodes in the
- tree.
-
-|NERDTreeStatusline| Set a statusline for NERDTree windows.
-
-|NERDTreeWinPos| Tells the script where to put the NERDTree
- window.
-
-|NERDTreeWinSize| Sets the window size when the NERDTree is
- opened.
-
-|NERDTreeWinSizeMax| Sets the maximum window size when the NERDTree
- is zoomed.
-
-|NERDTreeMinimalUI| Disables display of the 'Bookmarks' label and
- 'Press ? for help' text.
-
-|NERDTreeMinimalMenu| Use a compact menu that fits on a single line
- for adding, copying, deleting, etc
-
-|NERDTreeCascadeSingleChildDir|
- Collapses on the same line directories that have
- only one child directory.
-
-|NERDTreeCascadeOpenSingleChildDir|
- Cascade open while selected directory has only
- one child that also is a directory.
-
-|NERDTreeAutoDeleteBuffer| Tells the NERDTree to automatically remove a
- buffer when a file is being deleted or renamed
- via a context menu command.
-
-|NERDTreeCreatePrefix| Specify a prefix to be used when creating the
- NERDTree window.
-
-|NERDTreeRemoveFileCmd| Specify a custom shell command to be used when
- deleting files. Note that it should include one
- space character at the end of the command and it
- applies only to files.
-
-|NERDTreeRemoveDirCmd| Specify a custom shell command to be used when
- deleting directories. Note that it should
- include one space character at the end of the
- command and it applies only to directories.
-
-|NERDTreeDirArrowCollapsible| These characters indicate when a directory is
-|NERDTreeDirArrowExpandable| either collapsible or expandable.
-
-|NERDTreeNodeDelimiter| A single character that is used to separate the
- file or directory name from the rest of the
- characters on the line of text.
-
-|NERDTreeCustomOpenArgs| A dictionary with values that control how a node
- is opened with the |NERDTree-<CR>| key.
-
-------------------------------------------------------------------------------
-3.2. Customisation details *NERDTreeSettingsDetails*
-
-To enable any of the below settings you should put an appropriate >
- let <setting>=<value>
-<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
-<
-------------------------------------------------------------------------------
- *NERDTreeAutoCenter*
-Values: 0 or 1.
-Default: 1
-
-If set to 1, the NERDTree 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 setting controls the "sensitivity" of the NERDTree auto centering. See
-|NERDTreeAutoCenter| for details.
-
-------------------------------------------------------------------------------
- *NERDTreeCaseSensitiveSort*
-Values: 0 or 1.
-Default: 0.
-
-By default the NERDTree 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 setting 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
-<
-------------------------------------------------------------------------------
- *NERDTreeNaturalSort*
-Values: 0 or 1.
-Default: 0.
-
-By default the NERDTree does not sort nodes in natural sort order, i.e. nodes
-could appear like this: >
- z1.txt
- z10.txt
- z100.txt
- z11.txt
- z110.txt
- z2.txt
- z20.txt
- z3.txt
-<
-But if you set this setting to 1 then the natural sort order will be used. The
-above nodes would then be sorted like this: >
- z1.txt
- z2.txt
- z3.txt
- z10.txt
- z11.txt
- z20.txt
- z100.txt
- z110.txt
-<
-------------------------------------------------------------------------------
- *NERDTreeUseTCD*
-Values: 0 or 1.
-Default: 0.
-
-By default, NERDTree will use the `:cd` command to change the current working
-directory. If this setting is turned on, and the `:tcd` command is available, it
-will be used instead.
-
-------------------------------------------------------------------------------
- *NERDTreeChDirMode*
-Values: 0, 1, 2, or 3.
-Default: 0.
-
-Use this setting 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 NERDTree.
-
-If set to 1 then the CWD is changed when the NERDTree is first loaded to the
-directory it is initialized in. For example, if you start the NERDTree 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 NERDTree with a similar command.
-
-If the setting 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.
-
-If the set to 3, then it behaves the same as if set to 2, and the CWD is
-changed whenever changing tabs to whatever the tree root is on that tab.
-
-------------------------------------------------------------------------------
- *NERDTreeHighlightCursorline*
-Values: 0 or 1.
-Default: 1.
-
-If set to 1, the current cursor line in the NERDTree buffer will be
-highlighted. This is done using the `'cursorline'` Vim option.
-
-------------------------------------------------------------------------------
- *NERDTreeHijackNetrw*
-Values: 0 or 1.
-Default: 1.
-
-If set to 1, doing a >
- :edit <some directory>
-<
-will open up a window level NERDTree instead of a netrw in the target window.
-
-Window level trees behaves slightly 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 one tree per window - instead of per tab.
-
-------------------------------------------------------------------------------
- *NERDTreeIgnore*
-Values: a list of regular expressions.
-Default: ['\~$'].
-
-This setting is used to specify which files the NERDTree should ignore. It
-must be a list of regular expressions. When the NERDTree is rendered, any
-files/dirs that match any of the regex's in NERDTreeIgnore won't 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.
-
-There are 2 magic flags that can be appended to the end of each regular
-expression to specify that the regex should match only files or only dirs.
-These flags are "[[dir]]" and "[[file]]". Example: >
- let NERDTreeIgnore=['\.d$[[dir]]', '\.o$[[file]]']
-<
-This will cause all dirs ending in ".d" to be ignored and all files ending in
-".o" to be ignored.
-
-Note: to tell the NERDTree 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.
-
-------------------------------------------------------------------------------
- *NERDTreeRespectWildIgnore*
-Values: 0 or 1.
-Default: 0.
-
-If set to 1, the `'wildignore'` setting is respected.
-
-------------------------------------------------------------------------------
- *NERDTreeBookmarksFile*
-Values: a path
-Default: $HOME/.NERDTreeBookmarks
-
-This is where bookmarks are saved. See |NERDTreeBookmarkCommands|.
-
-------------------------------------------------------------------------------
- *NERDTreeBookmarksSort*
-Values: 0, 1, or 2
-Default: 1
-
-This setting controls the method by which the list of user bookmarks is
-sorted. When sorted, bookmarks will render in alphabetical order by name.
-
-If set to 0, the bookmarks list is not sorted.
-If set to 1, the bookmarks list is sorted in a case-insensitive manner.
-If set to 2, the bookmarks list is sorted in a case-sensitive manner.
-
-------------------------------------------------------------------------------
- *NERDTreeMarkBookmarks*
-Values: 0 or 1
-Default: 1
-
-If set to 1, Bookmarks will be specially marked whenever the NERDTree is
-rendered. Users of the |NERDTreeMinimalUI| setting may prefer to disable
-this setting for even less visual clutter.
-
-------------------------------------------------------------------------------
- *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,1,2 or 3.
-Default: 0
-
-This setting governs whether the NERDTree window or the bookmarks table closes
-after opening a file with the |NERDTree-o|, |NERDTree-i|, |NERDTree-t| and
-|NERDTree-T| mappings.
-
- Value | NERDTree Window Behavior
- -------+-------------------------------------------------------
- 0 | No change
- 1 | Closes after opening a file
- 2 | Closes the bookmark table after opening a bookmark
- 3(1+2) | Same as both 1 and 2
-
-------------------------------------------------------------------------------
- *NERDTreeShowBookmarks*
-Values: 0 or 1.
-Default: 0.
-
-If this setting is set to 1 then the bookmarks table will be displayed.
-
-This setting can be toggled dynamically, per tree, with the |NERDTree-B|
-mapping.
-
-------------------------------------------------------------------------------
- *NERDTreeShowFiles*
-Values: 0 or 1.
-Default: 1.
-
-If this setting is set to 1 then files are displayed in the NERDTree. If it
-is set to 0 then only directories are displayed.
-
-This setting 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 setting tells vim whether to display hidden files by default. This
-setting can be dynamically toggled, per tree, with the |NERDTree-I| mapping.
-Use one of the follow lines for this setting: >
- let NERDTreeShowHidden=0
- let NERDTreeShowHidden=1
-<
-------------------------------------------------------------------------------
- *NERDTreeShowLineNumbers*
-Values: 0 or 1.
-Default: 0.
-
-This setting tells vim whether to display line numbers for the NERDTree
-window. Use one of the follow lines for this setting: >
- let NERDTreeShowLineNumbers=0
- let NERDTreeShowLineNumbers=1
-<
-------------------------------------------------------------------------------
- *NERDTreeSortOrder*
-Values: a list of regular expressions.
-Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$']
-
-This setting is a list of regular expressions which are used to group or sort
-the nodes under their parent.
-
-For example, if the setting is: >
- ['\.vim$', '\.c$', '\.h$', '*', 'foobar']
-<
-then all .vim files will be grouped 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
-doesn't match any of the other regexps should be placed here.
-
-If no star is present in NERDTreeSortOrder, then one is automatically
-appended to the end of the list.
-
-The regex '\/$' should be used to match directory nodes.
-
-Files can also be sorted by 1) the modification timestamp, 2) the size, or 3)
-the extension. Directories are always sorted by name. To accomplish this, the
-following special flags are used:
- [[timestamp]] [[-timestamp]] [[size]] [[-size]] [[extension]]
-The hyphen specifies a descending sort; extensions are sorted in ascending
-order only. If placed at the beginning of the list, files are sorted according
-to these flags first, and then grouped by the remaining items in the list. If
-the flags are in any other position of the list, this special sorting is done
-secondarily. See examples 4, 5, and 6 below.
-
-After this sorting is done, the files in each group are sorted alphabetically.
-
-Examples: >
- (1) ['*', '\/$']
- (2) []
- (3) ['\/$', '\.rb$', '\.php$', '*', '\.swp$', '\.bak$', '\~$']
- (4) ['[[-size]]']
- (5) ['\/$', '*', '[[timestamp]]']
- (6) ['foo','\/$','[[extension]]']
-<
-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.
-4. Everything is sorted by size, largest to smallest, with directories
- considered to have size 0 bytes.
-5. Directories will appear first alphabetically, followed by files, sorted by
- timestamp, oldest first.
-6. Files and directories matching 'foo' first, followed by other directories,
- then all other files. Each section of files is sorted by file extension.
-
-------------------------------------------------------------------------------
- *NERDTreeStatusline*
-Values: Any valid `'statusline'` setting.
-Default: %{exists('b:NERDTree')?b:NERDTree.root.path.str():''}
-
-Defines the value for the `'statusline'` setting in NERDTree windows.
-
-Note: The setting is actually applied using |:let-&|, not |:set|, so
-escaping spaces is not necessary.
-
-Setting this to -1 will deactivate it so that your global `'statusline'`
-setting is used.
-
-------------------------------------------------------------------------------
- *NERDTreeWinPos*
-Values: "left" or "right"
-Default: "left".
-
-This setting is used to determine where NERDTree window is placed on the
-screen.
-
-This setting makes it possible to use two different explorer plugins
-simultaneously. For example, you could have the taglist plugin on the left of
-the window and the NERDTree on the right.
-
-------------------------------------------------------------------------------
- *NERDTreeWinSize*
-Values: a positive integer.
-Default: 31.
-
-This setting is used to change the size of the NERDTree when it is loaded.
-
-------------------------------------------------------------------------------
- *NERDTreeMinimalUI*
-Values: 0 or 1
-Default: 0
-
-This setting disables the 'Bookmarks' label 'Press ? for help' text. Use one
-of the following lines for this setting: >
- let NERDTreeMinimalUI=0
- let NERDTreeMinimalUI=1
-<
-------------------------------------------------------------------------------
- *NERDTreeMinimalMenu*
-Values: 0 or 1
-Default: 0
-
-This setting makes NERDTree use a smaller, more compact menu for adding,
-copying, deleting nodes. This menu fits on a single line so Vim doesn't need to
-scroll down to present it. This setting is recommended for users already
-familiar with the menu items. It will look similar to this:
-
- Menu: [ (a)dd ,m,d,r,o,q,c,l] (Use j/k/enter or shortcut):
-
-An action can be selected with its shortcut key or with the NERDTreeMenuUp and
-NERDTreeMenuDown keys, then pressing enter.
-
-Use one of the following lines for this setting: >
- let NERDTreeMinimalMenu=0
- let NERDTreeMinimalMenu=1
-<
-------------------------------------------------------------------------------
- *NERDTreeCascadeSingleChildDir*
-Values: 0 or 1
-Default: 1.
-
-When displaying dir nodes, this setting tells NERDTree to collapse dirs that
-have only one child. Use one of the following lines for this setting: >
- let NERDTreeCascadeSingleChildDir=0
- let NERDTreeCascadeSingleChildDir=1
-<
-------------------------------------------------------------------------------
- *NERDTreeCascadeOpenSingleChildDir*
-Values: 0 or 1
-Default: 1.
-
-When opening dir nodes, this setting tells NERDTree to recursively open dirs
-that have only one child which is also a dir. NERDTree will stop when it finds
-a dir that contains anything but another single dir. This setting also causes
-the |NERDTree-x| mapping to close dirs in the same manner. This setting may be
-useful for Java projects. Use one of the following lines for this setting: >
- let NERDTreeCascadeOpenSingleChildDir=0
- let NERDTreeCascadeOpenSingleChildDir=1
-<
-------------------------------------------------------------------------------
- *NERDTreeAutoDeleteBuffer*
-Values: 0 or 1
-Default: 0.
-
-When using a context menu to delete or rename a file you may also want to
-delete the buffer which is no more valid. If the setting is not set you will
-see a confirmation if you really want to delete an old buffer. If you always
-press 'y' then it's worth it to set this setting to 1. Use one of the
-following lines for this setting: >
- let NERDTreeAutoDeleteBuffer=0
- let NERDTreeAutoDeleteBuffer=1
-<
-------------------------------------------------------------------------------
- *NERDTreeCreatePrefix*
-Values: Any valid command prefix.
-Default: "silent".
-
-Internally, NERDTree uses the |:edit| command to create a buffer in which to
-display its tree view. You can augment this behavior by specifying a prefix
-string such as "keepalt" or similar. For example, to have NERDTree create its
-tree window using `silent keepalt keepjumps edit`: >
- let NERDTreeCreatePrefix='silent keepalt keepjumps'
-<
-------------------------------------------------------------------------------
- *NERDTreeDirArrowCollapsible* *NERDTreeDirArrowExpandable*
-Values: Any single character.
-Defaults: Windows: ~ and + Others: ▾ and ▸
-
-These characters indicate whether a directory is collapsible or expandable.
-Example: >
- let NERDTreeDirArrowExpandable=">"
- let NERDTreeDirArrowCollapsible="v"
-<
-They can be set to "\u00a0" to replace the arrows with a non-breaking space.
-If you do this you may need to change the node delimiter. See
-|NERDTreeNodeDelimiter|. You cannot use the same character for both the arrows
-and the delimiter.
-
-Alternatively, they can be set to '' (an empty string). This removes the
-arrows and the single space that follows them, shifting the entire tree two
-character positions to the left.
-
-------------------------------------------------------------------------------
- *NERDTreeNodeDelimiter*
-Values: Any single character.
-Default: varies (see below)
-
-This character is used to separate the file or directory name from the rest of
-the characters in the line of text. It allows filenames to contain special
-characters that are otherwise used in the NERDTree, such as square brackets,
-braces, trailing asterisk, and leading space. For more details, see the
-responsible pull request: https://github.com/preservim/nerdtree/pull/868.
-
-The default value of this variable depends on the features compiled into your
-vim and the values of |NERDTreeDirArrowCollapsible| and
-|NERDTreeDirArrowExpandable|.
- * If your vim is compiled with the +conceal feature, it is the "\x07" (BELL)
- character, and it is hidden by setting 'conceallevel' to 3. If you use
- autocommands, make sure none of them change that setting in the NERDTree_*
- buffers.
- * If your vim does NOT have the +conceal feature and you're using "\u00a0"
- (non-breaking space) to hide the directory arrows, "\u00b7" (middle dot)
- is used as the default delimiter.
- * If neither condition above applies, NERDTree uses "\u00a0" (non-breaking
- space) as the default delimiter.
-
-In the 2nd and 3rd cases, NERDTree will use the Ignore highlight group to
-"hide" the delimiter. It should appear as an empty space.
-
-Other plugins can interfere with these defaults, so if you need to change the
-delimiter, be sure to choose a character that won't appear in your filenames
-or any of the flags set by your installed NERDTree plugins. The suggestions
-below are but a few of the many possibilities. Remember to use double quotes
-when specifying by hex or Unicode. >
- let NERDTreeNodeDelimiter="\x07" "bell
- let NERDTreeNodeDelimiter="\u00b7" "middle dot
- let NERDTreeNodeDelimiter="\u00a0" "non-breaking space
- let NERDTreeNodeDelimiter="😀" "smiley face
-<
-------------------------------------------------------------------------------
- *NERDTreeCustomOpenArgs*
-Values: A nested dictionary, as described below
-Default: {'file': {'reuse': 'all', 'where': 'p'}, 'dir': {}}
-
-This dictionary contains two keys, 'file' and 'dir', whose values each are
-another dictionary. The inner dictionary is a set of parameters used by
-|NERDTree-<CR>| to open a file or directory. Setting these parameters allows you
-to customize the way the node is opened. The default value matches what
-|NERDTree-o| does. To change that behavior, use these keys and
-values in the inner dictionaries:
-
-'where': specifies whether the node should be opened in a new split ("h" or
- "v"), in a new tab ("t") or, in the last window ("p").
-'reuse': if file is already shown in a window, jump there; takes values
- "all", "currenttab", or empty
-'keepopen': boolean (0 or 1); if true, the tree window will not be closed
-'stay': boolean (0 or 1); if true, remain in tree window after opening
-
-For example:
-To open files and directories (creating a new NERDTree) in a new tab, >
- {'file':{'where': 't'}, 'dir':{'where':'t'}}
-<
-To open a file always in the current tab, and expand directories in place, >
- {'file': {'reuse':'currenttab', 'where':'p', 'keepopen':1, 'stay':1}}
-<
-==============================================================================
-4. The NERDTree API *NERDTreeAPI*
-
-The NERDTree script allows you to add custom key mappings and menu items via
-a set of API calls. Any scripts that use this API should be placed in
-~/.vim/nerdtree_plugin/ (*nix) or ~/vimfiles/nerdtree_plugin (windows).
-
-The script exposes some prototype objects that can be used to manipulate the
-tree and/or get information from it: >
- g:NERDTreePath
- g:NERDTreeDirNode
- g:NERDTreeFileNode
- g:NERDTreeBookmark
-<
-See the code/comments in NERD_tree.vim to find how to use these objects. The
-following code conventions are used:
- * class members start with a capital letter
- * instance members start with a lower case letter
- * private members start with an underscore
-
-See this blog post for more details:
- http://got-ravings.blogspot.com/2008/09/vim-pr0n-prototype-based-objects.html
-
-A number of API functions take a callback argument to call. The callback can
-be either a string with the name of a function to call, or a |Funcref| object
-which will be called directly.
-
-------------------------------------------------------------------------------
-4.1. Key map API *NERDTreeKeymapAPI*
-
-NERDTreeAddKeyMap({options}) *NERDTreeAddKeyMap()*
- Adds a new keymapping for all NERDTree buffers.
- {options} must be a dictionary, and must contain the following keys:
- "key" - the trigger key for the new mapping
- "callback" - the function the new mapping will be bound to
- "quickhelpText" - the text that will appear in the quickhelp (see
- |NERDTree-?|)
- "override" - if 1 then this new mapping will override whatever previous
- mapping was defined for the key/scope combo. Useful for overriding the
- default mappings.
-
- Additionally, a "scope" argument may be supplied. This constrains the
- mapping so that it is only activated if the cursor is on a certain object.
- That object is then passed into the handling method. Possible values are:
-
- "FileNode" .... a file node
- "DirNode" ..... a directory node
- "Node" ........ a file node OR a directory node
- "Bookmark" .... a bookmark
- "all" ......... global scope; handler receives no arguments (default)
-
- Example: >
- call NERDTreeAddKeyMap({
- \ 'key': 'foo',
- \ 'callback': 'NERDTreeCDHandler',
- \ 'quickhelpText': 'echo full path of current node',
- \ 'scope': 'DirNode' })
-
- function! NERDTreeCDHandler(dirnode)
- call a:dirnode.changeToDir()
- endfunction
-<
- This code should sit in a file like ~/.vim/nerdtree_plugin/mymapping.vim.
- It adds a (redundant) mapping on 'foo' which changes vim's CWD to that of
- the current dir node. Note this mapping will only fire when the cursor is
- on a directory node.
-
-------------------------------------------------------------------------------
-4.2. Menu API *NERDTreeMenuAPI*
-
-NERDTreeAddSubmenu({options}) *NERDTreeAddSubmenu()*
- Creates and returns a new submenu.
-
- {options} must be a dictionary and must contain the following keys:
- "text" - the text of the submenu that the user will see
- "shortcut" - a shortcut key for the submenu (need not be unique)
-
- The following keys are optional:
- "isActiveCallback" - a function that will be called to determine whether
- this submenu item will be displayed or not. The callback function must
- return 0 or 1.
- "parent" - the parent submenu of the new submenu (returned from a previous
- invocation of NERDTreeAddSubmenu()). If this key is left out then the new
- submenu will sit under the top level menu.
-
- See below for an example.
-
-NERDTreeAddMenuItem({options}) *NERDTreeAddMenuItem()*
- Adds a new menu item to the NERDTree menu (see |NERDTreeMenu|).
-
- {options} must be a dictionary and must contain the
- following keys:
- "text" - the text of the menu item which the user will see
- "shortcut" - a shortcut key for the menu item (need not be unique)
- "callback" - the function that will be called when the user activates the
- menu item.
-
- The following keys are optional:
- "isActiveCallback" - a function that will be called to determine whether
- this menu item will be displayed or not. The callback function must return
- 0 or 1.
- "parent" - if the menu item belongs under a submenu then this key must be
- specified. This value for this key will be the object that
- was returned when the submenu was created with |NERDTreeAddSubmenu()|.
-
- See below for an example.
-
-NERDTreeAddMenuSeparator([{options}]) *NERDTreeAddMenuSeparator()*
- Adds a menu separator (a row of dashes).
-
- {options} is an optional dictionary that may contain the following keys:
- "isActiveCallback" - see description in |NERDTreeAddMenuItem()|.
-
-Below is an example of the menu API in action. >
- call NERDTreeAddMenuSeparator()
-
- call NERDTreeAddMenuItem({
- \ 'text': 'a (t)op level menu item',
- \ 'shortcut': 't',
- \ 'callback': 'SomeFunction' })
-
- let submenu = NERDTreeAddSubmenu({
- \ 'text': 'a (s)ub menu',
- \ 'shortcut': 's' })
-
- call NERDTreeAddMenuItem({
- \ 'text': '(n)ested item 1',
- \ 'shortcut': 'n',
- \ 'callback': 'SomeFunction',
- \ 'parent': submenu })
-
- call NERDTreeAddMenuItem({
- \ 'text': '(n)ested item 2',
- \ 'shortcut': 'n',
- \ 'callback': 'SomeFunction',
- \ 'parent': submenu })
-<
-This will create the following menu: >
- --------------------
- a (t)op level menu item
- a (s)ub menu
-<
-Where selecting "a (s)ub menu" will lead to a second menu: >
- (n)ested item 1
- (n)ested item 2
-<
-When any of the 3 concrete menu items are selected the function "SomeFunction"
-will be called.
-
-------------------------------------------------------------------------------
-4.3 NERDTreeAddPathFilter(callback) *NERDTreeAddPathFilter()*
-
-Path filters are essentially a more powerful version of |NERDTreeIgnore|.
-If the simple regex matching in |NERDTreeIgnore| is not enough then use
-|NERDTreeAddPathFilter()| to add a callback function that paths will be
-checked against when the decision to ignore them is made. Example >
-
- call NERDTreeAddPathFilter('MyFilter')
-
- function! MyFilter(params)
- "params is a dict containing keys: 'nerdtree' and 'path' which are
- "g:NERDTree and g:NERDTreePath objects
-
- "return 1 to ignore params['path'] or 0 otherwise
- endfunction
-<
-------------------------------------------------------------------------------
-4.4 Path Listener API *NERDTreePathListenerAPI*
-
-Use this API if you want to run a callback for events on Path objects. E.G >
-
- call g:NERDTreePathNotifier.AddListener("init", "MyListener")
-
- "....
-
- function! MyListener(event)
- "This function will be called whenever a Path object is created.
-
- "a:event is an object that contains a bunch of relevant info -
- "including the affected path. See lib/nerdtree/event.vim for details.
- endfunction
-<
-Current events supported:
- init ~
- refresh ~
- refreshFlags ~
-
-------------------------------------------------------------------------------
-NERDTreeRender() *NERDTreeRender()*
- Re-renders the NERDTree buffer. Useful if you change the state of the
- tree and you want to it to be reflected in the UI.
-
-==============================================================================
-5. About *NERDTreeAbout*
-
-The author of the NERDTree 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 gmail dot 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 ;)
-
-Martyzilla recruited two other unwitting accomplices to become his minions in
-his quest to conquer the Vim plugin world. While he may still love to receive
-your emails, the best way to send suggestions, bug reports, and questions is
-to submit an issue at http://github.com/preservim/nerdtree/issues.
-
-The latest stable and development versions are on Github.
- Stable: http://github.com/preservim/nerdtree (master branch)
- Development: http://github.com/preservim/nerdtree/branches
-
-Title Credit:
- * http://ascii.co.uk/art/tree
-
- * Patrick Gillespie's Text ASCII Art Generator
- http://patorjk.com/software/taag
- http://patorjk.com/software/taag/#p=display&f=Rozzo&t=the%20NERD%20Tree
-
-==============================================================================
-6. License *NERDTreeLicense*
-
-The NERDTree is released under the wtfpl.
-See http://sam.zoy.org/wtfpl/COPYING.
-
-------------------------------------------------------------------------------
- vim:tw=78:ts=8:ft=help:noet:nospell