系统学习 学习路径总入口:先选领域,再建立模型,最后用故障演练验证

Vim 总览:模式、学习顺序与常用操作入口

补充说明

Vim 是 Vi 的增强版,几乎预装在 Linux、macOS 和多数容器镜像里。它的核心不是记住所有快捷键,而是理解“模式 + 操作符 + 动作/文本对象”的组合:普通模式下按键是命令,插入模式才输入文字,d、y、c 等操作符可以接 w、i(、ap 等动作。先掌握模式切换、保存退出和移动,再学文本对象、寄存器、宏和插件,学习曲线会平缓很多。

边界:Vim 负责文本编辑,不负责文件管理、版本控制或 IDE 级重构;需要 LSP、调试器和团队配置时看 Neovim 或 VS Code 快捷键。最小系统可能只有 vi(也可能是 Vim 的 compatible 模式),没有插件和部分 Ex 命令;上手前先确认 vim --version。纯 POSIX vi 的差异见 vi。

学习顺序

  1. Vim 基础:四种模式、打开保存退出、hjkl 移动、基础搜索替换。
  2. Vim 进阶:文本对象、寄存器、宏、分屏、g 命令与 Ex 批量操作。
  3. Vim 配置与插件:.vimrc、插件管理、LSP 与常见配置。
  4. Vim 速查表:按“移动 / 编辑 / 搜索 / 文件 / 分屏”查键位。
  5. Vim 与 Neovim:两者差异、配置迁移与选型。

不想先读文档时,在终端跑 vimtutor,用 30 分钟走一遍官方交互教程;遇到具体问题再回到对应页面。

最短上手

vim notes.txt          # 打开或新建文件
vim +42 notes.txt      # 跳到第 42 行
vim +/timeout app.conf # 定位到第一个 timeout
vim -R /etc/hosts      # 只读打开,防止误改

进入后按 i 插入,改完按 Esc,再输入 :wq 保存退出;不想保存用 :q!。普通模式下 u 撤销、Ctrl+r 重做、/keyword 搜索、n 跳下一个匹配。先练熟这一组,再学操作符和文本对象。

场景入口

任务 入口
改服务器配置,怕改坏 先 vim -R file 只读查看;需要编辑时用 sudoedit file,避免长期以 root 运行 Vim
批量替换一个文件 :%s/old/new/g;加 c 逐个确认,加 \v 使用更接近 PCRE 的正则
只改一个函数或段落 文本对象:ci{、ci(、dap、yiw,见进阶页
重复一段编辑 q 录制宏,@a 回放,@@ 重复上次宏
同时看两个文件 :split / :vsplit,Ctrl+w 切换窗口
粘贴时缩进越来越乱 先 :set paste 再粘贴,粘完 :set nopaste;或使用支持 bracketed paste 的终端
退出时提示 swap 文件 先确认没有另一个 Vim 在编辑;用 :recover 检查,确认后再删 .swp

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. Vim 的“操作符 + 动作/文本对象”是什么意思?举一个 ci( 的例子。
  2. :wq、:x、:q! 分别在什么情况下使用?
  3. 粘贴代码后缩进越来越乱,原因是什么?两种解决办法是什么?
答案
  1. 普通模式下先按操作符(如 d 删除、y 复制、c 修改),再按动作或文本对象指定范围。ci( 表示修改当前括号内的内容,并进入插入模式。
  2. :wq 无条件保存并退出;:x 有修改才写入并退出;:q! 放弃修改强制退出。
  3. 终端把粘贴内容当成普通模式按键,触发了自动缩进。可临时 :set paste 后再粘贴,或使用支持 bracketed paste 的终端。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令