Vi 和 Vim 的三种模式
vi 和 vim 的三种模式
使用 Vim 编辑文件时,存在 3 种工作模式,分别是命令模式、输入模式和编辑模式,这三种工作模式可随意切换,如图所示。

一、命令模式
使用 Vim 编辑文件时,默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
| 命令 | 含义 |
|---|---|
| dd | 删除光标当前行 |
| dnd | 删除n行 |
| u | 撤销上一步 |
| yy | 复制光标当前行 |
| p | 粘贴 |
| x,X | 删除一个字母 |
| dw | 删除一个词 |
| yw | 复制一个词 |
| shift+^ | 移动到行头 |
| shift+$ | 移动到行尾 |
| shift+g | 移动到页尾 |
| 数字1+shift+g | 移动到页头 |
| 数字N+shift+g | 移动到目标 |
二、输入模式
在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。
使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。
| 命令 | 含义 |
|---|---|
| i,I | 当前光标前 |
| a,A | 当前光标后 |
| o,O | 当前光标行的下一行 |
| s , S | s: 删除当前字符并进入编辑 S: 删除整行并进入编辑 |
| R | 进入替换模式 |
三、编辑模式
编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。
使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。
指令执行后 Vim 会自动返回命令模式。如想直接返回命令模式,按 Esc 即可。
| 命令 | 含义 |
|---|---|
| :w | 保存 |
| :q | 退出 |
| :! | 强制执行 |
| :%s/old字符/new字符 | 批量替换 |
| / 要查找的词 | n 查找下一个,N 往上查找 |
| N 查找下一个,n 往上查找 | |
| :set nu / :set nonu | 显示行号 /关闭行号 |