Go to file
Jason Franklin d68c9abca8 Improve three highlighting rules
The highlighting rules "NERDTreeClosable" and "NERDTreeOpenable" did
not recognize files beginning with a "~" character. This caused bad
highlighting on systems that use "~" and "+" for the dir arrow
symbols by default. Making these rules more specific solves this
problem.

The "~" characters in quickhelp section titles also would get
confused with a custom mapping for "~". Adjusting the
"NERDTreeHelpTitle" solved this problem.

I also changed the quickhelp title in a minor way to reflect the
proper spelling of "NERDTree".
2017-07-29 09:40:11 -04:00
.github Add an Issue template to ask for more information up front. 2017-03-29 11:27:04 -04:00
autoload Update the function that drives the p mapping 2017-07-08 11:33:10 -04:00
doc Rename the help file to "NERDTree.txt" 2017-07-04 10:14:35 -04:00
lib/nerdtree Improve three highlighting rules 2017-07-29 09:40:11 -04:00
nerdtree_plugin Fix typo in argument usage in promptToRenameBuffer 2016-10-03 18:04:50 -04:00
plugin Merge pull request #536 from satori/master 2017-06-21 11:33:47 -04:00
syntax Improve three highlighting rules 2017-07-29 09:40:11 -04:00
.gitignore gitignore tags file 2008-05-17 14:36:02 +12:00
CHANGELOG Update CHANGELOG, giving contributors their due. 2017-06-05 09:00:31 -04:00
LICENCE add license file 2015-11-13 16:50:44 +00:00
README.markdown Divide the introductory paragraph in the README 2017-07-28 20:56:19 -04:00
screenshot.png Edit the README file 2017-07-28 20:38:26 -04:00

The NERDTree

Introduction

The NERDTree is a file system explorer for the Vim editor. Using this plugin, users can visually browse complex directory hierarchies, quickly open files for reading or editing, and perform basic file system operations.

This plugin can also be extended with custom mappings using a special API. The details of this API and of other NERDTree features are described in the included documentation.

NERDTree Screenshot

Installation

pathogen.vim

git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

Then reload Vim, run :helptags ~/.vim/bundle/nerdtree/doc/, and check out :help NERDTree.txt.

apt-vim

apt-vim install -y https://github.com/scrooloose/nerdtree.git

F.A.Q.

Is there any support for git flags?

Yes, install nerdtree-git-plugin.


Can I have the nerdtree on every tab automatically?

Nope. If this is something you want then chances are you aren't using tabs and buffers as they were intended to be used. Read this http://stackoverflow.com/questions/102384/using-vims-tabs-like-buffers

If you are interested in this behaviour then consider vim-nerdtree-tabs


How can I open a NERDTree automatically when vim starts up?

Stick this in your vimrc: autocmd vimenter * NERDTree


How can I open a NERDTree automatically when vim starts up if no files were specified?

Stick this in your vimrc:

autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif

Note: Now start vim with plain vim, not vim .


How can I open NERDTree automatically when vim starts up on opening a directory?

autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif

This window is tab-specific, meaning it's used by all windows in the tab. This trick also prevents NERDTree from hiding when first selecting a file.


How can I map a specific key or shortcut to open NERDTree?

Stick this in your vimrc to open NERDTree with Ctrl+n (you can set whatever key you want):

map <C-n> :NERDTreeToggle<CR>

How can I close vim if the only window left open is a NERDTree?

Stick this in your vimrc:

autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

Can I have different highlighting for different file extensions?

See here: https://github.com/scrooloose/nerdtree/issues/433#issuecomment-92590696


How can I change default arrows?

Use these variables in your vimrc. Note that below are default arrow symbols

let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'