Answers:
好的,以前的版本有点简洁,但是您要寻找的答案是将以下行添加到~/.vimrc
文件中。它告诉Vim您想设置一个命令来在Vim启动时运行,但是由于它依赖于要加载的各种插件,因此您不希望在所有初始化完成后再运行它:
autocmd VimEnter * NERDTree
但是,如果您对光标总是在NERDTree窗口中启动的事实感到恼火,则可以添加第二个自动命令,该命令会将光标移到主窗口中:
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
/.vim/after/plugin/NERD_tree.vim
脚本,则应将这些行移至脚本中,这样它就不会尝试在关闭插件的情况下执行。
autocmd VimEnter * NERDTree | wincmd p
autocmd VimEnter * NERDTree
然后 autocmd VimEnter * if argc() | wincmd p | endif
。这样,如果我尚未打开特定文件,则光标位于NERDTree上,但是如果我选择了一个文件,它将在主窗口中开始。
您是在Windows还是UNIX系统上?
如果您使用的是Unix系统,则将插入~/.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
那么t
它会弹出打开NERDTree。
alias vimt='vim -c "NERDTree" $1'
按照NERDTree的说明,您可以只使用病原体。通过以下方式安装:
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
这里的答案有一个小问题。
如果调用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
同时测试NERDtree
可用的也是一个好主意,即:
if exists("loaded_nerd_tree")
autocmd VimEnter * NERDTree
endif
export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'