你如何将NERDTree添加到你的vimrc?

你怎么做呢?

好的,以前的版本有点简单,但是你要找的答案是将下面的代码添加到你的~/.vimrc文件中。 它告诉vim你想在vim启动时设置一个命令来运行,但是由于它依赖于不同的插件被加载,所以你不想在所有初始化完成之前运行它。 下面的行是这样做的。

 autocmd VimEnter * NERDTree 

但是,如果您对NERDTree窗口始终启动游标感到恼火,则可以添加第二个自动命令,将光标移动到主窗口中,如下所示:

 autocmd VimEnter * NERDTree autocmd VimEnter * wincmd p 

你在Windows或unix-y系统上?

如果你使用的是unix-y系统,你可以在~/.vim/plugin 。 这是我的插件目录的样子:

 $ ls ~/.vim/plugin NERD_tree.vim scratch.vim scratchfind.vim 

之后,马上开始工作。 尝试像这样运行vim:

 $ vim . 

它应该在NERD树形视图中打开当前目录。

如果你在Windows上,你可以在这里插入插件: C:\Program Files\Vim\vim70\plugin


要让NERDTree在启动vim时自动加载,请从命令行像这样运行它:

 $ vim -c "NERDTree" some_file.txt 

您可以在.bashrc为此设置一个别名:

 alias vimt='vim -c "NERDTree" $1' 

现在,只要你运行vimt (而不是vim ),你也会在窗口的左边打开NERDTree。

您也可以添加一个快捷键,以这种方式在您的.vimrc启动NERDTree:

 function OpenNERDTree() execute ":NERDTree" endfunction command -nargs=0 OpenNERDTree :call OpenNERDTree() nmap <ESC>t :OpenNERDTree<CR> 

现在,当你打Esc然后它会打开NERDTree。

我只想在没有文件参数的情况下启动vim时才能看到NERDTree,所以我将其添加到我的.vimrc中:

 autocmd VimEnter * if !argc() | NERDTree | endif 

这里的答案有一个小问题。

如果你调用vim --noplugin或者使用一个使用了--noplugin模式的脚本(比如vimpager) ,会导致这个错误:

 Error detected while processing VimEnter Auto commands for "*": E492: Not an editor command: NERDTree 

为了避免这种情况,把命令放在~/.vim/after/plugin/NERD_tree.vim

 autocmd VimEnter * NERDTree 

testingNERDtree也是一个好主意, NERDtree

 if exists("loaded_nerd_tree") autocmd VimEnter * NERDTree endif 
 " NERD Tree nmap <silent> <special> <F2> :NERDTreeToggle<RETURN> 

根据https://github.com/scrooloose/nerdtree上的说明,您可以使用pathogen.vim(; https://github.com/tpope/vim-pathogen )。 安装病原体:

 mkdir -p ~/.vim/autoload ~/.vim/bundle; \ curl -Sso ~/.vim/autoload/pathogen.vim \ https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim 

添加到您的vimrc:

 execute pathogen#infect() 

然后安装NERDTree:

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

如果您想在vim启动时自动打开NERDTree,请将以下内容添加到您的vimrc中:

 autocmd vimenter * NERDTree