模块一:终端启动 Vim:vim [OPTION]... FILE...
1.1 命令格式释义
vim [OPTION]... FILE...vim:主命令固定;[OPTION]可选启动参数(可多个);...代表参数 / 文件可多个;FILE目标文件 / 路径,支持多文件同时打开。
1.2 常用启动参数表
表格
| 命令写法 | 作用 | 实用场景 |
|---|---|---|
| vim 文件名 | 默认打开文件 | 日常编辑 |
| vim + 数字 文件名 | 打开直达指定行 | 日志 / 代码定位报错 |
| vim -R 文件名 | 只读打开 | 保护关键配置 |
| vim 文件 1 文件 2 | 一次性打开多文件 | 多文件切换 |
| vim -o 文件 1 文件 2 | 水平分屏打开 | 上下对照 |
| vim -O 文件 1 文件 2 | 垂直分屏打开 | 左右对照 |
1.3 实操示例
vim test.txt vim +20 test.txt vim -R nginx.conf vim f1.txt f2.txt f3.txt vim -o a.txt b.txt1.4 总结
日常高频三种:vim 文件名、vim +行号 文件名、vim -R 文件名
模块二:【统一归集:末行扩展模式:全部命令】(★★★核心,普通模式输入:进入,回车执行)
2.1 保存退出命令
表格
| 命令 | 功能 | 星级 |
|---|---|---|
| :w | 保存不退出 | ★★★ |
| :w newfile | 文件另存 | ★★ |
| :q | 无修改正常退出 | ★★★ |
| :q! | 强制退出、丢弃修改 | ★★★ |
| :wq / :x | 保存并退出 | ★★★ |
| :22 | 跳转至 22 行 | ★★ |
2.2 行地址定界(搭配 d/y/m 执行批量编辑)
符号定义:.= 当前行、$= 末行、%= 全文 (等价1,$)、m,n=m~n 行示例::1,5d删除 1-5 行【★★】:3,8y复制 3-8 行:1,4m151~4 行移动到 15 行下方
2.3 查找替换固定语法::范围s/旧/新/参数
参数:g本行全替换、i忽略大小写、c替换确认
vim
:%s/a/b/g "全文替换 ★★★ :1,10s/a/b/g "区间替换 ★★ :s/a/b/g "当前行替换 ★★ :%s/a/b/gi "全文+忽略大小写 ★★2.4 :set 配置(临时生效;写入~/.vimrc永久生效)
vim
set nu "显示行号 ★★★ set nonu "关闭行号 set tabstop=4 "Tab占4字符 ★★★ set shiftwidth=4 "缩进宽度4 ★★★ set expandtab "Tab转空格 ★★ set autoindent "自动缩进 ★★ set ignorecase smartcase"搜索智能大小写 ★★ set hlsearch "搜索高亮 ★★ set nohlsearch "取消高亮 set list "显示Tab/行尾符 ★★ set nolist set virtualedit=block "块模式虚拟列2.5 分屏相关末行命令
:sp水平分屏、:vsp垂直分屏【★★】;:q关闭当前窗口、:qa关闭全部窗口【★★】
2.6 多文件切换末行命令
:bn下一个文件【★★】;:bp上一个文件【★★】
2.7 辅助查询末行命令
:reg查看所有寄存器【★★】;:help 关键词帮助查询【★】
模块三:【统一归集:普通 Normal 模式】(默认打开进入,ESC 返回,★★★主力)
3.1 通用操作公式
[数字N]+指令,N 为执行次数,缺省 = 1;例:5dd、3yy、10p
3.2 光标全快捷键
h← j↓ k↑ l→【★★★】单词:w下个单词首、e单词尾、b上个单词首单行:0行首、^首非空字符、$行尾全文:gg首行、G末行、nG跳转 n 行翻页:Ctrl+f/b/d/u括号匹配:%【★★】
3.3 删除 / 修改 / 替换 / 复制 / 粘贴 / 缩进 / 撤销
表格
| 快捷键 | 功能 | 星级 |
|---|---|---|
| x/X | x 删光标字符,X 删前字符 | ★★★ |
| dd/dw/d$ | dd 整行删、dw 删单词、d$ 删到行尾 | ★★★ |
| cc/ciw/c$ | cc 清空行、ciw 删单词、c$ 删尾并插入 | ★★★ |
| r/R | r 单字符替换;R 连续覆盖 | r★★ R★ |
| yy/yw/y$ | yy 整行复制、yw 单词复制、y$ 复制到尾 | ★★★ |
| p/P | p 光标后粘贴,P 光标前粘贴 | ★★★ |
| >/< | >> 缩进、<< 回缩 | ★★ |
| u/Ctrl+r | u 撤销、Ctrl+r 重做 | ★★★ |
3.4 进入插入模式快捷键
i(光标前) a(光标后) I(行首) A(行尾) o(下新开行) O(上新开行)【★★★】
3.5 搜索快捷键(普通模式)
/关键词向下搜、?关键词向上搜;n下一处、N上一处;*向下全词搜、#向上全词搜【★★】
模块四:【统一归集:可视化 Visual 模式】批量框选★★★
4.1 三种选区模式
v:字符选区V:整行选区Ctrl+v:矩形块选区(列编辑最强★★★)通用规则:选中→d删 /y复制 /c修改
4.2 Ctrl+v 高频实操步骤
- 批量行首加 #注释光标行首→Ctrl+v→j 向下选列→大写
I#→ESC - 批量行尾加分号框选列→大写
A;→ESC - 批量删空格 / 注释框选内容→
d
模块五:【统一归集:寄存器系统】多剪贴板★★★
5.1 查看寄存器::reg(末行命令★★)
5.2 寄存器分类与用法
表格
| 寄存器 | 作用 | 星级 |
|---|---|---|
| "" 无名 | y/d 默认存入,p 默认粘贴 | ★★★ |
| "0 复制寄存器 | 仅 y 复制存入,删除不覆盖 | ★★★ |
| "1~"9 | 保存批量删除内容,"1p恢复 | ★★ |
| "a-z 自定义 | "ayy覆盖存入;"Ayy大写追加 | ★★ |
| "_黑洞 | "_d删除不存入任何寄存器 | ★★ |
| "+ 系统剪贴 | "+y复制到系统;"+p粘贴系统内容 | ★★ |
5.3 语法:"寄存器+[N]+操作
plaintext
"ayy 复制到a "ap 粘贴a "0p 调取复制内容 "_d 无留存删除模块六:【统一归集:宏与标记】自动化★★
6.1 宏录制
qa开启录制→手动操作→q结束→@a执行 1 次、15@a执行 15 次【★★】
6.2 位置标记
ma标记当前位置 a;'a跳转标记【★】
模块七:【统一归集:冷门补充命令】
- 二进制打开文件:
vim -b filename【★】
附录 1:普通模式指令汇总表
表格
| 快捷键 | 英文全称 | 核心作用 | 示例 | 星级 |
|---|---|---|---|---|
| d | delete | 删除存入寄存器 | dd、5dd、dw、d$ | ★★★ |
| y | yank | 复制存入 "0 | yy、3yy、y$ | ★★★ |
| c | change | 删后切插入 | cc、ciw、c$ | ★★★ |
| r | replace | 单字符替换 | ra | ★★ |
| R | Replace | 连续覆盖替换 | R | ★ |
| p | put | 光标后粘贴 | p、10p | ★★★ |
| P | Put | 光标前粘贴 | P | ★★ |
| x | cut char | 删光标字符 | x、5x | ★★★ |
| X | Cut left | 删左侧字符 | X | ★ |
| > | indent | 右缩进 | >>、5>> | ★★ |
| < | unindent | 左回缩 | << | ★★ |
| ~ | swapcase | 大小写翻转 | ~ | ★ |
附录 2:TOP15 必背高频清单★★★
- 保存退出:
:w / :q / :q! / :wq - 行号:
:set nu / nonu - 全文替换:
:%s/old/new/g - 光标:
hjkl gg G 0 $ w e b % - 删复粘贴:
dd yy p u Ctrl+r - 批量注释:
Ctrl+v + I# + ESC - 分屏:
:sp / :vsp + Ctrl+w h/j/k/l - 寄存器:
"0p找回被覆盖内容 - 搜索:
/关键词 n N * # - 缩进配置:
tabstop=4 shiftwidth=4 expandtab写入.vimrc - 搜索配置:
ignorecase smartcase - 高亮搜索:
hlsearch - 多文件:
:bn :bp - 宏:
qa→操作→q→@a - 系统剪贴:
"+y "+p
Vim 四大分类:普通模式、插入模式、末行模式、可视模式(独立选区模式)
可视:选内容;插入:打字改内容,两种完全分开。
插入模式(i/a/I/A/o/O 进入)【真正编辑输入文字】可以直接敲键盘打字、新增、改写字符,左下角
-- INSERT --。可视 Visual 模式(v/V/Ctrl+v 进入)【只做框选选中】左下角:
-- VISUAL -- / VISUAL LINE / VISUAL BLOCK只能移动光标扩缩选区,不能直接打字;选中之后配合d/y/c/I/A间接修改文本。普通模式:指令触发,不能直接打字。
- INSERT = 打字编辑
- VISUAL = 圈选范围