如何将NERDTree添加到我的.vimrc文件中?
好的,前一个版本可能有点简洁,但你要找的答案是将下面这行代码添加到你的~/.vimrc
文件中。它告诉Vim你想设置一个命令在Vim启动时运行,但由于它依赖于各种插件加载,你不想在初始化完成之前运行它:
autocmd VimEnter * NERDTree
然而,如果你对光标始终在NERDTree窗口中启动感到烦恼,你可以添加第二个自动命令来将光标移动到主窗口中:
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
/.vim/after/plugin/NERD_tree.vim
脚本中,以便它不会在插件关闭时尝试执行。 - Joshua Olsonautocmd VimEnter * NERDTree | wincmd p
可以实现你的需求。 - Dave James Miller`autocmd VimEnter * NERDTree` 然后
`autocmd VimEnter * if argc() | wincmd p | endif`.
这样,如果我没有打开特定文件,光标将在 NERDTree 上,但如果我选择了文件,则会在主窗口中开始。 - user2275806我希望在启动vim时,仅在没有文件参数时显示NERDTree,因此我将以下内容添加到我的.vimrc文件中:
autocmd VimEnter * if !argc() | NERDTree | endif
~/.vim/plugin
目录下。这是我的插件目录的样子:$ ls ~/.vim/plugin
NERD_tree.vim scratch.vim scratchfind.vim
接下来它会立即开始工作。尝试像这样运行vim:
$ vim .
它应该在NERD树视图中打开当前目录。
如果您使用的是Windows,则将插件放在此处:C:\Program Files\Vim\vim70\plugin
要在启动vim时自动加载NERDTree,请从命令行以以下方式运行:
$ 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'
- pedrosauriomkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
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'
- Edward J Beckett" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>
我希望在启动时打开NERDTree,但有两个要求:
我使用这个命令:
autocmd VimEnter * if !argc() | NERDTree | wincmd p | q | endif
更新(2022年1月9日)
我找到了一种更高效的方法,以满足我上面提到的两个要求。
从 .vimrc 文件中删除我上面提到的 autocmd。相反,创建一个类似这样的别名:
vim() {
if [ $# -eq 0 ]; then
/usr/bin/vim ./
else
/usr/bin/vim "$@"
fi
}