必须安装vim-enhanced或vim-gtk3等完整版,禁用vi或vim-tiny;验证需含+python3和+clipboard;vim-plug安装失败应先配github镜像或手动下载plug.vim;.vimrc中plug#begin()与plug#end()须独立成行且无注释,plug条目严格居中。

直接装 vim-enhanced + vim-plug,别用系统默认 vi 或 vim-tiny —— 否则插件根本跑不起来。
确认 Vim 版本和安装完整版
很多用户卡在第一步:vim --version 输出里带 Tiny version,说明装的是阉割版,连 syntax on 都报错。这不是配置问题,是二进制本身没编译 Python/Lua/clipboard 支持。
- Debian/Ubuntu:
sudo apt install vim-gtk3(不是vim或vim-runtime) - RHEL/CentOS 8+:
sudo dnf install vim-enhanced - Arch/Manjaro:
sudo pacman -S vim(默认就是完整版) - 装完必须验证:
vim --version | grep -E "(python|lua|clipboard)",至少看到+python3和+clipboard
vim-plug 安装失败的三个真实原因
报错 Failed to connect to raw.githubusercontent.com port 443 不是网络差,是 GitHub 原始域名被拦截。别反复重试 curl,先切镜像:
- 执行:
git config --global url."https://mirror.ghproxy.com/https://github.com".insteadOf https://github.com - 再运行安装命令:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - 如果仍失败,手动下载
plug.vim(浏览器访问https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim,保存为~/.vim/autoload/plug.vim) - 注意路径必须严格是
~/.vim/autoload/plug.vim,少一个点或大小写错都会导致:PlugInstall找不到命令
.vimrc 中 plug#begin() 的位置陷阱
很多人把 call plug#begin() 写在注释后、缩进里,或者和 Plug 写在同一行,结果 :PlugInstall 直接报 E117: Unknown function: plug#begin。
- 必须独立成行,且不能被注释(
" call plug#begin()是无效的) - 所有
Plug行必须夹在call plug#begin()和call plug#end()之间,不能跨函数、不能嵌套 - 正确示例:
call plug#begin('~/.vim/plugged') Plug 'preservim/nerdtree' Plug 'neoclide/coc.nvim', {'branch': 'release'} call plug#end() - 错误写法:
call plug#begin('~/.vim/plugged') | Plug 'xxx'(管道分隔符会破坏语法)
首次 :PlugInstall 卡住别 Ctrl+C
执行 :PlugInstall 后终端没反应、光标不动,不是挂了,是 vim-plug 在后台异步克隆 Git 仓库。尤其第一次装 coc.nvim 或 vim-fugitive,等 20–40 秒才弹出完成提示很常见。
- 期间可以按
Ctrl+G看当前状态(显示 “Installing…”) - 如果真超时,检查
~/.vim/plugged/下是否有空目录(如nerdtree/),有说明拉取已开始,只是慢 - 装完务必重启 vim,否则新插件的命令(如
:NERDTreeToggle)不会注册 - 后续更新用
:PlugUpdate,清理不用插件用:PlugClean,这两个命令同样不显示实时进度
最常被忽略的是:插件依赖的外部工具(比如 coc.nvim 要 node,gutentags 要 ctags 和 gtags)得提前装好,否则插件加载失败但 vim 不报错,只表现为功能缺失。











