Compare commits

..

2 Commits

Author SHA1 Message Date
Martin Grenfell
090791407e switch to version 2.14.2 2008-10-29 20:14:08 +13:00
Martin Grenfell
cea02c6d98 update changelog and credits 2008-10-29 20:04:49 +13:00
2 changed files with 1065 additions and 1141 deletions

View File

@@ -21,21 +21,22 @@ CONTENTS *NERDTree-contents*
1.Intro...................................|NERDTree| 1.Intro...................................|NERDTree|
2.Functionality provided..................|NERDTreeFunctionality| 2.Functionality provided..................|NERDTreeFunctionality|
2.1.Global commands...................|NERDTreeGlobalCommands| 2.1 Global commands...................|NERDTreeGlobalCommands|
2.2.Bookmarks.........................|NERDTreeBookmarks| 2.2 Bookmarks.........................|NERDTreeBookmarks|
2.2.1.The bookmark table..........|NERDTreeBookmarkTable| 2.2.1 The bookmark table..........|NERDTreeBookmarkTable|
2.2.2.Bookmark commands...........|NERDTreeBookmarkCommands| 2.2.2 Bookmark commands...........|NERDTreeBookmarkCommands|
2.2.3.Invalid bookmarks...........|NERDTreeInvalidBookmarks| 2.2.3 Invalid bookmarks...........|NERDTreeInvalidBookmarks|
2.3.NERD tree mappings................|NERDTreeMappings| 2.3 NERD tree mappings................|NERDTreeMappings|
2.4.The filesystem menu...............|NERDTreeFilesysMenu| 2.4 The filesystem menu...............|NERDTreeFilesysMenu|
3.Options.................................|NERDTreeOptions| 3.Options.................................|NERDTreeOptions|
3.1.Option summary....................|NERDTreeOptionSummary| 3.1 Option summary....................|NERDTreeOptionSummary|
3.2.Option details....................|NERDTreeOptionDetails| 3.2 Option details....................|NERDTreeOptionDetails|
4.Hacking the NERD tree...................|NERDTreeHacking| 4.Public functions........................|NERDTreePublicFunctions|
5.About...................................|NERDTreeAbout| 5.TODO list...............................|NERDTreeTodo|
6.Changelog...............................|NERDTreeChangelog| 6.The Author..............................|NERDTreeAuthor|
7.Credits.................................|NERDTreeCredits| 7.Changelog...............................|NERDTreeChangelog|
8.License.................................|NERDTreeLicense| 8.Credits.................................|NERDTreeCredits|
9.License.................................|NERDTreeLicense|
============================================================================== ==============================================================================
1. Intro *NERDTree* 1. Intro *NERDTree*
@@ -64,7 +65,7 @@ The following features and functionality are provided by the NERD tree:
* ... * ...
* Directories and files can be bookmarked. * Directories and files can be bookmarked.
* Most NERD tree navigation can also be done with the mouse * Most NERD tree navigation can also be done with the mouse
* Filtering of tree content (can be toggled at runtime) * Dynamic customisation of tree content
* custom file filters to prevent e.g. vim backup files being displayed * custom file filters to prevent e.g. vim backup files being displayed
* optional displaying of hidden files (. files) * optional displaying of hidden files (. files)
* files can be "turned off" so that only directories are displayed * files can be "turned off" so that only directories are displayed
@@ -80,13 +81,9 @@ The following features and functionality are provided by the NERD tree:
session, the directory nodes will be opened/closed as you left them session, the directory nodes will be opened/closed as you left them
* The script remembers the cursor position and window position in the NERD * 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 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 reopen it (with NERDTreeToggle) the NERD tree window will appear EXACTLY
as you left it as you left it
* You can have a separate NERD tree for each tab, share trees across tabs, * You can have a separate NERD tree for each tab
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. Functionality provided *NERDTreeFunctionality*
@@ -112,15 +109,7 @@ The following features and functionality are provided by the NERD tree:
again. If no NERD tree exists for this tab then this command acts the again. If no NERD tree exists for this tab then this command acts the
same as the |:NERDTree| command. same as the |:NERDTree| command.
:NERDTreeMirror *:NERDTreeMirror* :NERDTreeClose
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. Close the NERD tree in this tab.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
@@ -201,19 +190,16 @@ o.......Open files, directories and bookmarks....................|NERDTree-o|
go......Open selected file, but leave cursor in the NERDTree.....|NERDTree-go| go......Open selected file, but leave cursor in the NERDTree.....|NERDTree-go|
t.......Open selected node/bookmark in a new tab.................|NERDTree-t| 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| T.......Same as 't' but keep the focus on the current tab........|NERDTree-T|
i.......Open selected file in a split window.....................|NERDTree-i| <tab>...Open selected file in a split window.....................|NERDTree-tab|
gi......Same as i, but leave the cursor on the NERDTree..........|NERDTree-gi| g<tab>..Same as <tab>, but leave the cursor on the NERDTree......|NERDTree-gtab|
s.......Open selected file in a new vsplit.......................|NERDTree-s|
gs......Same as s, but leave the cursor on the NERDTree..........|NERDTree-gs|
!.......Execute the current file.................................|NERDTree-!| !.......Execute the current file.................................|NERDTree-!|
O.......Recursively open the selected directory..................|NERDTree-O| O.......Recursively open the selected directory..................|NERDTree-O|
x.......Close the current nodes parent...........................|NERDTree-x| x.......Close the current nodes parent...........................|NERDTree-x|
X.......Recursively close all children of the current node.......|NERDTree-X| X.......Recursively close all children of the current node.......|NERDTree-X|
e.......Edit the current dif.....................................|NERDTree-e| e.......Open a netrw for the current dir.........................|NERDTree-e|
<CR>...............same as |NERDTree-o|.
double-click.......same as the |NERDTree-o| map. double-click.......same as the |NERDTree-o| map.
middle-click.......same as |NERDTree-i| for files, same as middle-click.......same as |NERDTree-tab| for files, same as
|NERDTree-e| for dirs. |NERDTree-e| for dirs.
D.......Delete the current bookmark .............................|NERDTree-D| D.......Delete the current bookmark .............................|NERDTree-D|
@@ -222,8 +208,8 @@ P.......Jump to the root node....................................|NERDTree-P|
p.......Jump to current nodes parent.............................|NERDTree-p| p.......Jump to current nodes parent.............................|NERDTree-p|
K.......Jump up inside directories at the current tree depth.....|NERDTree-K| K.......Jump up inside directories at the current tree depth.....|NERDTree-K|
J.......Jump down inside directories at the current tree depth...|NERDTree-J| 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-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-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| C.......Change the tree root to the selected dir.................|NERDTree-C|
u.......Move the tree root up one directory......................|NERDTree-u| u.......Move the tree root up one directory......................|NERDTree-u|
@@ -233,7 +219,7 @@ R.......Recursively refresh the current root.....................|NERDTree-R|
m.......Display the filesystem menu..............................|NERDTree-m| m.......Display the filesystem menu..............................|NERDTree-m|
cd......Change the CWD to the dir of the selected node...........|NERDTree-cd| cd......Change the CWD to the dir of the selected node...........|NERDTree-cd|
I.......Toggle whether hidden files displayed....................|NERDTree-I| H.......Toggle whether hidden files displayed....................|NERDTree-H|
f.......Toggle whether the file filters are used.................|NERDTree-f| f.......Toggle whether the file filters are used.................|NERDTree-f|
F.......Toggle whether files are displayed.......................|NERDTree-F| F.......Toggle whether files are displayed.......................|NERDTree-F|
B.......Toggle whether the bookmark table is displayed...........|NERDTree-B| B.......Toggle whether the bookmark table is displayed...........|NERDTree-B|
@@ -292,8 +278,8 @@ Applies to: files and directories.
The same as |NERDTree-t| except that the focus is kept in the current tab. The same as |NERDTree-t| except that the focus is kept in the current tab.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-i* *NERDTree-tab*
Default key: i Default key: <tab>
Map option: NERDTreeMapOpenSplit Map option: NERDTreeMapOpenSplit
Applies to: files. Applies to: files.
@@ -301,35 +287,15 @@ Opens the selected file in a new split window and puts the cursor in the new
window. window.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-gi* *NERDTree-gtab*
Default key: gi Default key: g<tab>
Map option: None Map option: None
Applies to: files. Applies to: files.
The same as |NERDTree-i| except that the cursor is not moved. The same as |NERDTree-tab| except that the cursor is not moved.
The key combo for this mapping is always "g" + NERDTreeMapOpenSplit (see The key combo for this mapping is always "g" + NERDTreeMapOpenSplit (see
|NERDTree-i|). |NERDTree-tab|).
------------------------------------------------------------------------------
*NERDTree-s*
Default key: s
Map option: 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 option: None
Applies to: files.
The same as |NERDTree-s| except that the cursor is not moved.
The key combo for this mapping is always "g" + NERDTreeMapOpenVSplit (see
|NERDTree-s|).
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-!* *NERDTree-!*
@@ -376,9 +342,7 @@ Default key: e
Map option: NERDTreeMapOpenExpl Map option: NERDTreeMapOpenExpl
Applies to: files and directories. Applies to: files and directories.
|:edit|s the selected directory, or the selected file's directory. This could Opens a netrw on the selected directory, or the selected file's directory.
result in a NERD tree or a netrw being opened, depending on
|'NERDTreeHijackNetrw'|.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-D* *NERDTree-D*
@@ -431,16 +395,16 @@ If the cursor is already on the last node then do the following:
* go to the last child of that node * go to the last child of that node
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-C-J* *NERDTree-c-j*
Default key: <C-J> Default key: <C-j>
Map option: NERDTreeMapJumpNextSibling Map option: NERDTreeMapJumpNextSibling
Applies to: files and directories. Applies to: files and directories.
Jump to the next sibling of the selected node. Jump to the next sibling of the selected node.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-C-K* *NERDTree-c-k*
Default key: <C-K> Default key: <C-k>
Map option: NERDTreeMapJumpPrevSibling Map option: NERDTreeMapJumpPrevSibling
Applies to: files and directories. Applies to: files and directories.
@@ -499,20 +463,13 @@ Applies to: files and directories.
Display the filesystem menu. See |NERDTreeFilesysMenu| for details. Display the filesystem menu. See |NERDTreeFilesysMenu| for details.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-cd* *NERDTree-H*
Default key: cd Default key: H
Map option: NERDTreeMapChdir
Applies to: files and directories.
Change vims current working directory to that of the selected node.
------------------------------------------------------------------------------
*NERDTree-I*
Default key: I
Map option: NERDTreeMapToggleHidden Map option: NERDTreeMapToggleHidden
Applies to: no restrictions. Applies to: no restrictions.
Toggles whether hidden files (i.e. "dot files") are displayed. Toggles whether hidden files are displayed. Hidden files are any
file/directory that starts with a "."
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*NERDTree-f* *NERDTree-f*
@@ -623,9 +580,6 @@ NERD tree. These options should be set in your vimrc.
|'NERDTreeHighlightCursorline'| Tell the NERD tree whether to highlight the |'NERDTreeHighlightCursorline'| Tell the NERD tree whether to highlight the
current cursor line. 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. |'NERDTreeIgnore'| Tells the NERD tree which files to ignore.
|'NERDTreeBookmarksFile'| Where the bookmarks are stored. |'NERDTreeBookmarksFile'| Where the bookmarks are stored.
@@ -650,8 +604,6 @@ NERD tree. These options should be set in your vimrc.
|'NERDTreeSortOrder'| Tell the NERD tree how to sort the nodes in |'NERDTreeSortOrder'| Tell the NERD tree how to sort the nodes in
the tree. the tree.
|'NERDTreeStatusline'| Set a statusline for NERD tree windows.
|'NERDTreeWinPos'| Tells the script where to put the NERD tree |'NERDTreeWinPos'| Tells the script where to put the NERD tree
window. window.
@@ -688,7 +640,7 @@ 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. within |'NERDTreeAutoCenterThreshold'| lines of the top/bottom of the window.
This is ONLY done in response to tree navigation mappings, This is ONLY done in response to tree navigation mappings,
i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-C-K| |NERDTree-p| i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-c-K| |NERDTree-p|
|NERDTree-P| |NERDTree-P|
The centering is done with a |zz| operation. The centering is done with a |zz| operation.
@@ -751,23 +703,7 @@ Values: 0 or 1.
Default: 1. Default: 1.
If set to 1, the current cursor line in the NERD tree buffer will be If set to 1, the current cursor line in the NERD tree buffer will be
highlighted. This is done using the |'cursorline'| option. 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'* *'NERDTreeIgnore'*
@@ -824,7 +760,7 @@ Values: 0 or 1.
Default: 0 Default: 0
If set to 1, the NERD tree window will close after opening a file with the If set to 1, the NERD tree window will close after opening a file with the
|NERDTree-o| or |NERDTree-i| mappings. |NERDTree-o| or |NERDTree-tab| mappings.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*'NERDTreeShowBookmarks'* *'NERDTreeShowBookmarks'*
@@ -854,7 +790,7 @@ Values: 0 or 1.
Default: 0. Default: 0.
This option tells vim whether to display hidden files by default. This option 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 can be dynamically toggled, per tree, with the |NERDTree-H| mapping. Use one
of the follow lines to set this option: > of the follow lines to set this option: >
let NERDTreeShowHidden=0 let NERDTreeShowHidden=0
let NERDTreeShowHidden=1 let NERDTreeShowHidden=1
@@ -904,31 +840,20 @@ Other examples: >
3. Dirs will appear first, then ruby and php. Swap files, bak files and vim 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. backup files will appear last with everything else preceding them.
------------------------------------------------------------------------------
*'NERDTreeStatusline'*
Values: Any valid statusline setting.
Default: %{b:NERDTreeRoot.path.strForOS(0)}
Tells the script what to use as the |'statusline'| setting for NERD tree
windows.
Note that the statusline is set using |:let-&| not |:set| so escaping spaces
isn't necessary.
Setting this option to -1 will will deactivate it so that your global
statusline setting is used instead.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
*'NERDTreeWinPos'* *'NERDTreeWinPos'*
Values: "left" or "right" Values: "left", "right", "top" or "bottom"
Default: "left". Default: "left".
This option is used to determine where NERD tree window is placed on the This option is used to determine where NERD tree window is placed on the
screen. screen.
This option makes it possible to use two different explorer plugins "top" or "bottom", will cause a horizontal split to be created for the tree,
simultaneously. For example, you could have the taglist plugin on the left of while "left" and "right" will cause a vertical split.
the window and the NERD tree on the right.
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'* *'NERDTreeWinSize'*
@@ -938,9 +863,8 @@ Default: 31.
This option is used to change the size of the NERD tree when it is loaded. This option is used to change the size of the NERD tree when it is loaded.
============================================================================== ==============================================================================
4. Hacking the NERD tree *NERDTreeHacking* *NERDTreePublicFunctions*
5. Public functions ~
Public functions ~
The script provides 2 public functions for your hacking pleasure. Their The script provides 2 public functions for your hacking pleasure. Their
signatures are: > signatures are: >
@@ -955,29 +879,16 @@ style OO. To see the functions that each class provides you can read look at
the code. the code.
Use the node objects to manipulate the structure of the tree. Use the path Use the node objects to manipulate the structure of the tree. Use the path
objects to access the files/directories the tree nodes represent. objects to access the data the tree represents and to make changes to the
filesystem.
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. About *NERDTreeAbout* 5. TODO list *NERDTreeTodo*
Window manager integration?
==============================================================================
6. The Author *NERDTreeAuthor*
The author of the NERD tree is a terrible terrible monster called Martyzilla The author of the NERD tree is a terrible terrible monster called Martyzilla
who gobbles up small children with milk and sugar for breakfast. who gobbles up small children with milk and sugar for breakfast.
@@ -987,109 +898,364 @@ 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 Don't be shy --- the worst he can do is slaughter you and stuff you in the
fridge for later ;) fridge for later ;)
The latest stable versions can be found at
http://www.vim.org/scripts/script.php?script_id=1658
The latest dev versions are on github
http://github.com/scrooloose/nerdtree
============================================================================== ==============================================================================
6. Changelog *NERDTreeChangelog* 7. Changelog *NERDTreeChangelog*
3.1.1 2.14.2
- fix a bug where a non-listed no-name buffer was getting created every - when opening a file (with 'o' or double click) dont split the window
time the tree windows was created, thanks to Derek Wyatt and owen1 unless we absolutely have to. This should make the script work better
- make <CR> behave the same as the 'o' mapping with other explorer plugins. Thanks to Ryan Penn, Simon Peter Nicholls
- some helptag fixes in the doc, thanks strull and Michael
- fix a bug when using :set nohidden and opening a file where the previous - fix a bug where directories starting with a '+' char could not be opened.
buf was modified. Thanks iElectric 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 - other minor fixes
3.1.0 2.10.0
New features: - added bookmarks, see :help NERDTreeBookmarkCommands for details. Thanks
- add mappings to open files in a vsplit, see :help NERDTree-s and :help to Piotr Czachur for all his testing and suggestions.
NERDTree-gs - fixed screen jumping bug with when &scrolloff != 0
- make the statusline for the nerd tree window default to something - fixed some bugs with copying nodes
hopefully more useful. See :help 'NERDTreeStatusline' - other random fixes
Bugfixes: - change license to wtfpl
- make the hijack netrw functionality work when vim is started with "vim
<some dir>" (thanks to Alf Mikula for the patch).
- fix a bug where the CWD wasnt being changed for some operations even when
NERDTreeChDirMode==2 (thanks to Lucas S. Buchala)
- add -bar to all the nerd tree :commands so they can chain with other
:commands (thanks to tpope)
- fix bugs when ignorecase was set (thanks to nach)
- fix a bug with the relative path code (thanks to nach)
- fix a bug where doing a :cd would cause :NERDTreeToggle to fail (thanks nach)
2.9.0
3.0.1 - path handling improvements, thanks to Zhang Shuhan for heaps of
Bugfixes: testing/bug reports
- fix bugs with :NERDTreeToggle and :NERDTreeMirror when 'hidden * improved how paths are stored, now the script will no longer get
was not set confused about drives on MF Windows
- fix a bug where :NERDTree <path> would fail if <path> was relative and * made the script way better at handling paths with strange characters
didnt start with a ./ or ../ Thanks to James Kanze. in them (eg '$@; etc)
- make the q mapping work with secondary (:e <dir> style) trees, - applied a patch from Cory Echols
thanks to jamessan * add the command :NERDTreeClose to close the tree for the current tab
- fix a bunch of small bugs with secondary trees * set the filetype for the NERD tree buffer to "nerdtree"
More insane refactoring. 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)
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
============================================================================== ==============================================================================
7. Credits *NERDTreeCredits* 8. Credits *NERDTreeCredits*
Thanks to the following people for testing, bug reports, ideas etc. Without Thanks to Tim Carey-Smith for testing/using the NERD tree from the first
you I probably would have got bored of the hacking the NERD tree and pre-beta version, for his many suggestions and for his constant stream of bug
just downloaded pr0n instead. complaints.
Tim Carey-Smith (halorgium) Thanks to Vigil for trying it out before the first release :) and suggesting
Vigil that mappings to open files in new tabs should be implemented.
Nick Brettell
Thomas Scott Urban Thanks to Nick Brettell for testing, fixing my spelling and suggesting i put a
Terrance Cohen .. (up a directory)
Yegappan Lakshmanan line in the gui.
Jason Mills
Michael Geddes (frogonwheels) Thanks to Thomas Scott Urban - the author of the vtreeexplorer plugin - whose
Yu Jun gui code i borrowed from.
Michael Madsen
AOYAMA Shotaro Thanks to Terrance Cohen for pointing out a bug where the script was changing
Zhang Weiwu vims CWD all over the show.
Niels Aan de Brugh
Olivier Yiptong Thanks to Yegappan Lakshmanan (author of Taglist and other orgasmically
Zhang Shuhan wonderful plugins) for telling me how to fix a bug that was causing vim to go
Cory Echols into visual mode everytime you double clicked a node :)
Piotr Czachur
Yuan Jiang Thanks to Jason Mills for sending me a fix that allows windows paths to use
Matan Nassau forward slashes as well as backward.
Maxim Kim
Charlton Wang Thanks to Michael Geddes (frogonwheels on #vim at freenode) for giving me some
Matt Wozniski (godlygeek) tips about syntax highlighting when i was doing highlighting for the
knekk quickhelp.
Sean Chou
Ryan Penn Thanks to Yu Jun for emailing me about a bug that was occurring when closing
Simon Peter Nicholls the tree.
Michael Foobar
Tomasz Chomiuk Thanks to Michael Madsen for emailing me about making case sensitivity
Denis Pokataev optional when sorting nodes.
Tim Pope (tpope)
James Kanze Thanks to AOYAMA Shotaro for suggesting that i echo a "please wait" message
James Vega (jamessan) when opening large directories.
Frederic Chanal (nach)
Alf Mikula Thanks to Michael Madsen for requesting the NERDTreeCaseSensitiveSort option.
Lucas S. Buchala
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.
============================================================================== ==============================================================================
8. License *NERDTreeLicense* 9. License *NERDTreeLicense*
The NERD tree is released under the wtfpl. The NERD tree is released under the wtfpl.
See http://sam.zoy.org/wtfpl/COPYING. See http://sam.zoy.org/wtfpl/COPYING.

File diff suppressed because it is too large Load Diff