How do you do it?
问题:
回答1:
Okay, the previous version was a bit terse, but the answer you're looking for is to add the line below into your ~/.vimrc
file. It tells vim that you want to setup a command to run when vim starts, but since it depends on various plugins to be loaded, you don't want to run it until all initialization is finished. The line below does this.
autocmd VimEnter * NERDTree
If, however, you're annoyed by the fact that the cursor always starts in the NERDTree window, you can add a second autocommand that will move the cursor into the main window, like so:
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
回答2:
I like to see NERDTree only when I start vim without file arguments, so I added this to my .vimrc:
autocmd VimEnter * if !argc() | NERDTree | endif
回答3:
Are you on a Windows or unix-y system?
If you're on a unix-y system you put plugins in ~/.vim/plugin
. Here's what my plugin directory looks like:
$ ls ~/.vim/plugin
NERD_tree.vim scratch.vim scratchfind.vim
After that it starts working right away. Try running vim like this:
$ vim .
It should open the current directory in the NERD tree view.
If you're on Windows you put plugins here: C:\Program Files\Vim\vim70\plugin
To get NERDTree to load automatically when you start up vim, run it like this from the command line:
$ vim -c "NERDTree" some_file.txt
You can set an alias for this in your .bashrc
:
alias vimt='vim -c "NERDTree" $1'
Now whenever you run vimt
(instead of vim
) you'll also open up NERDTree on the left side of the window.
You could also add a shortcut key to start NERDTree in your .vimrc
this way:
function OpenNERDTree()
execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()
nmap <ESC>t :OpenNERDTree<CR>
Now when you hit Esc
then t
it will pop open NERDTree.
回答4:
As per the instructions on https://github.com/scrooloose/nerdtree, you can just use pathogen.vim (https://github.com/tpope/vim-pathogen). Install pathogen with:
mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
Add this to your vimrc:
execute pathogen#infect()
then install NERDTree:
cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git
And if you want to open a NERDTree automatically when vim starts up, add the following to your vimrc:
autocmd vimenter * NERDTree
回答5:
The answers here have a minor problem.
If you call vim --noplugin
or use a script that uses --noplugin
mode such as vimpager, it will cause this error:
Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree
To avoid this, put the command in ~/.vim/after/plugin/NERD_tree.vim
instead:
autocmd VimEnter * NERDTree
And it might also be a good idea to test that NERDtree
is available as well, i.e.:
if exists("loaded_nerd_tree")
autocmd VimEnter * NERDTree
endif
回答6:
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>