必须安装完整版vim并配置~/.vimrc:执行vim --version确认含+python等特性,debian/ubuntu装vim-gtk3,rhel/centos装vim-enhanced,arch装vim;创建~/.vimrc写入set nocompatible、set number、syntax on三行。

Vim 不是系统自带的“完整版”,直接运行 vim 很可能报错或功能残缺——必须先确认版本、装对包、再配基础配置,否则连语法高亮和方向键都用不了。
怎么判断你装的是不是真 Vim?
很多初学者以为输入 vim 就能用,结果发现方向键乱码、:q 退不出、Esc 没反应。根本原因是系统只装了 vi 的精简版(Tiny version),不支持现代编辑需求。
- 执行
vim --version,如果输出里含+python、+clipboard、+multi_byte等带加号的特性,说明是完整版;若含-python或Tiny version,就是阉割版 - 执行
which vim,返回空或指向/bin/vi,大概率没装对 - 在 Vim 里按
:set nocompatible?,返回nocompatible才正常;若返回compatible,说明它还在模拟老式 vi 行为,插件和映射基本失效
不同发行版该装哪个包?别用 vim 这个裸名
包名差异极大,用错就白装。Debian/Ubuntu 用 vim-gtk3,RHEL/CentOS 用 vim-enhanced,Arch 用 vim(但默认是 vim-runtime + vim 两个包)。
- Ubuntu/Debian:
sudo apt update && sudo apt install vim-gtk3(不要只装vim或vim-tiny) - RHEL/CentOS 8+:
sudo dnf install vim-enhanced;7 及更早:sudo yum install vim-enhanced - Arch/Manjaro:
sudo pacman -S vim(会自动拉取完整依赖,包括vim-runtime) - 装完立刻验证:
vim --version | grep -E "(python|clipboard|multi_byte)",至少看到一两个加号
为什么 ~/.vimrc 一创建就生效,但空文件反而让 Vim 更卡?
因为 Vim 启动时若找不到 ~/.vimrc,会自动加载系统级的 /etc/vimrc,而该文件常含大量兼容性设置(比如 set compatible),导致方向键、退格键、粘贴行为全部异常。
- 新建空配置:
touch ~/.vimrc,然后至少写入这三行:set nocompatible<br>set number<br>syntax on
-
set nocompatible是前提——关掉 vi 兼容模式,否则所有现代功能被锁死 -
set number开启行号,比记住:set nu更可靠;syntax on必须在nocompatible之后,否则无效 - 别急着抄大段插件配置:NERDTree、fzf 这些依赖 Python/Lua,没装对 vim 包之前全会报
E319: Sorry, the command is not available in this version
打开文件就卡住?试试这三种命令行启动方式
新手常卡在“打开文件后光标在哪”“怎么跳到报错行”“空文件怎么快速写头注释”。这些不是 Vim 问题,是启动参数没用对。
- 编辑新文件(如
main.py):vim main.py—— 光标停在第 1 行第 1 列,适合从头写 - 查看配置文件(如
/etc/hosts):vim /etc/hosts +——+让光标落在最后一行,避免翻页找结尾 - 定位编译错误(如 gcc 报第 42 行):
vim src.c +42—— 启动即跳转,省去手动输:42 - 所有启动方式进入后都是命令模式,必须按
i、a或o才能输入;误按字母只会触发命令(比如按d会删一行)
最常被忽略的点:Vim 的“退出”不是靠 Ctrl+C 或鼠标叉,而是严格依赖模式切换。按错一次 Esc 就可能从插入模式掉进命令模式却浑然不觉,接着输 :wq 发现没反应——其实是光标根本不在命令模式。多练 Esc → : 这个肌肉记忆,比背一百条命令都管用。











