📝 插入模式命令 (i, a, o)
| 命令 | 英文全称 | 功能描述 |
| i | Insert | 在光标当前位置之前开始插入文本。光标及其右侧的字符会向右移动。 |
| a | Append | 在光标当前位置之后开始插入文本。光标先向右移动一位,然后开始插入。 |
| o | Open | 在光标所在行的下方新开辟一行,并在新行的行首开始插入文本。 |
移动光标 (Navigation)
| 命令 | 功能 |
| h, j, k, l | 左、下、上、右移动一个字符。 (经典 vi 移动键) |
| w | 移动到下一个单词的开头。 |
| b | 移动到上一个单词的开头。 |
| e | 移动到当前或下一个单词的结尾。 |
| 0 (零) | 移动到行首的第一个字符。 |
| $ | 移动到行尾。 |
| ^ | 移动到行首的第一个非空白字符。 |
| gg | 移动到文件的第一行。 |
| G | 移动到文件的最后一行。 |
| 5G | 移动到文件的第 5 行。(数字可以替换为任意行号) |
删除和剪切 (Delete/Cut)
删除的字符会被自动存入剪贴板(称为“寄存器”),可以随时粘贴。
| 命令 | 功能 |
| x | 删除光标下的字符。 |
| dw | 删除光标到下一个单词开头的内容。 |
| d$ | 删除光标到行尾的内容。 |
| dd | 删除/剪切光标所在的整行。 |
| 3dd | 删除光标开始的 3 行。 |
| D | 等同于 d$ (删除到行尾)。 |
复制和粘贴 (Yank/Paste)
在 vi/vim 中,复制叫做 "yank" (拉取/提取)。
| 命令 | 功能 |
| yy | 复制光标所在的整行。 |
| 3yy | 复制光标开始的 3 行。 |
| yw | 复制光标到单词结尾的内容。 |
| p (小写) | 粘贴在光标的下方或右方。 |
| P (大写) | 粘贴在光标的上方或左方。 |
撤销和重做 (Undo/Redo)
| 命令 | 功能 |
| u | 撤销上一次操作 (Undo)。 |
Ctrl + r | 重做被撤销的操作 (Redo)。 |
查找和替换 (Search/Replace)
需要先输入 : 进入命令模式。
| 命令 | 功能 |
| /text | 向下查找 text。按 n 查找下一个,N 查找上一个。 |
| ?text | 向上查找 text。 |
| : | 进入命令模式(也叫末行模式)。 |
| :%s/old/new/g | 全局替换:将文件中的所有 old 替换为 new。 |
| :s/old/new/g | 行内替换:将光标所在行中的所有 old 替换为 new。 |
退出和保存 (Exit/Save)
需要先输入 : 进入命令模式。
| 命令 | 功能 |
| :w | 保存文件 (Write)。 |
| :q | 退出文件 (Quit)。如果文件已修改但未保存,会报错。 |
| :wq 或 ZZ | 保存并退出。 |
| :q! | 强制退出,不保存对文件的修改。 |
| :w! | 强制保存(例如,文件权限为只读时尝试保存)。 |
评论
发表评论