在使用plug-vim编辑器的时候,在vim执行:PlugInstall总是显示E492: 不是编辑器的命令,这可能有如下原因:
1. 确认 vim-plug 是否正确安装
- 首先要检查
~/.vim/autoload/plug.vim
文件是否已经成功下载并放置在了正确的位置。你可以通过文件管理器或者在终端中使用ls -l ~/.vim/autoload/
命令查看该目录下是否存在plug.vim
文件。 - 如果该文件不存在,很可能是在执行安装
vim-plug
的curl
命令时出现了问题,比如网络连接异常导致文件没能下载成功。此时可以尝试重新执行安装vim-plug
的curl
命令:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
2. 检查.vimrc
配置文件
- 确保
.vimrc
配置文件中的plug#begin()
和plug#end()
语句书写正确,并且语法上没有错误。例如,要保证这两个语句是完整的,没有多余的字符或者拼写错误等情况。 - 同时,确认在
plug#begin()
和plug#end()
之间添加的插件配置语句(如Plug 'preservim/NERDTree'
等)格式也是正确的,每行插件配置语句应该独占一行,并且符合vim-plug
要求的语法规范。如果配置文件中有语法错误,可能会导致vim-plug
无法正确被加载,从而识别不出:PlugInstall
这样的命令。
3. 重新加载 .vimrc
配置或重启 Vim 编辑器
- 有时候即使正确安装了
vim-plug
并且.vimrc
配置文件也没问题,但 Vim 可能没有及时加载新的配置内容。可以尝试在 Vim 编辑器中执行:source ~/.vimrc
命令,该命令会重新加载.vimrc
配置文件,使得vim-plug
的相关设置生效,之后再尝试执行:PlugInstall
命令看看是否能够正常运行。 - 另外,也可以直接关闭当前的 Vim 编辑器实例,重新打开 Vim,然后再输入
:PlugInstall
命令,这样也能确保 Vim 以最新的配置状态来尝试执行插件安装操作。
4. 检查 Vim 版本兼容性
- 虽然
vim-plug
能兼容大部分常见的 Vim 版本,但偶尔也可能存在版本相关的不兼容问题。可以查看一下你所使用的 Vim 版本(通过在 Vim 命令行输入:version
命令查看),确保你的vim编辑器版本在8.0及以上,如果版本比较旧,考虑升级到较新的稳定版本,然后重复上述的安装和配置检查步骤,看能否成功执行:PlugInstall
命令。
但是我想说以上可能都是废话,因为我个人debug都试过才发现一般根本不是以上原因导致了,主要是因为你的vim工作时的路径没有包含plug-vim所在的路径。
5.检查vim的工作路径
在vim编辑器中使用:echo &runtimepath命令来检查是否含有~/.vim/autoload路径,如下:
只要确保你vim编辑器工作路径包含了plug-vim所在的路径才可以确保一定可以识别PlugInstall命令,说白了只要你的vim编辑器版本支持plug-vim插件、你下载了plug-vim插件、你的vim编辑器工作目录包含了plug-vim插件所在路径,你的vim编辑器才可以识别plug-vim插件中的PlugInstall命令,原理就是如此简单。
在.vimrc文件中添加如下命令可以让vim的工作路径包含plug-vim工具:
set runtimepath+=~/.vim/autoload
为什么添加工作路径失败(来至vim的bug)?
我在我的.vimrc文件的末尾添加了(大概在100行多指出添加的):
set runtimepath+=~/.vim/autoload
call plug#begin('~/.vim/plugged')
" Example plugins
Plug 'preservim/NERDTree'
Plug 'wikitopian/hardmode'
call plug#end()
但是我执行:PlugInstall还是提示E492: 不是编辑器的命令: PlugInstall,检查工作路径:echo &runtimepath发现根本没有添加进~/.vim/autoload。于是我尝试将以上代码放在我.vimrc文件的开头,再执行:source ~/.vimrc更新.vimrc文件配置,然后查看vim工作路径:echo &runtimepath这才发现终于添加进了/.vim/autoload工作环境。
这可能是.vimrc配置文件的bug,建议如果遇到要修改vim工作环境的操作尽量放在.vimrc文件配置的开头以免失效。