我正在尝试切换到 vim 作为我的主要编辑器,并且我已经安装了 nerdTree 插件,但是现在当我尝试使用 vimpager 替换 less 我得到
Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree
Run Code Online (Sandbox Code Playgroud)
我已经收窄,这条线在我.vimrc
,但我不知道很多关于配置VIM,我得到这个.vimrc
从互联网。
autocmd VimEnter * NERDTree
Run Code Online (Sandbox Code Playgroud)
我最好的猜测是 vimpager 试图禁用插件,但.vimrc
正在尝试加载它,所以他们收到了错误。
有关解决此问题的任何建议?
正确的解决办法是移动
autocmd VimEnter * NERDTree
Run Code Online (Sandbox Code Playgroud)
离开你~/.vimrc
并进入~/.vim/after/plugin/NERD_tree.vim
。
这样,只有当 NERD_tree 也已加载时,autocmd 才会运行。
更正确地说,你应该做到
if exists("loaded_nerd_tree")
echo 'loaded_nerd_tree' . loaded_nerd_tree
endif
Run Code Online (Sandbox Code Playgroud)
这样,如果插件被卸载,您的after
脚本将不会仍然尝试使用该插件。