vi 命令整理
编辑命令
| 文本对象 | 更改 | 删除 | 复制 |
|---|
| 一个单词 | cw | dw | Yw |
| 两个单词,不包括标点符号 | 2cW或c2W | 2dW或d2W | 2yW或y2W |
| 后退三个单词 | 3cb或c3b | 3db或d3b | 3yb或y3b |
| 一整行 | cc | cc | yy或y |
| 到一行的结尾 | c$或C | d$或D | y$ |
| 到一行的开通 | c0 | d0 | y0 |
| 单个字符 | I | x或X | yl或yh |
| 五个字符 | 5s | 5x | 5yl |
光标移动命令
| 移动 | 命令 |
|---|
| 方向键 ←、↓、↑、→ | h、j、k、l |
| 到下一行的第一个字符 | + |
| 到上一行的第一个字符 | - |
| 到单词的结尾 | e或E |
| 往前一个单词 | w或W |
| 往后一个单词 | b或B |
| 到一行的结尾 | $ |
| 到一行的开头 | 0 |
其他操作
| 操作 | 命令 |
|---|
| 往缓冲区中放置文本 | P或p |
| 打开vi,如果指定了文件则打开文件 | vi file |
| 保存编辑结果,并离开文件 | ZZ |
| 不保存编辑结果,并离开文件 | :q! |
文本创建与操作命令
| 编辑动作 | 命令 |
|---|
| 在光标所在位置插入文本 | i |
| 在一行的开头插入文本 | I |
| 在光标所在位置附加文本 | a |
| 在一行的最后附加文本 | A |
| 在光标的下一行打开新行 | o |
| 在光标的上一行打开新行 | O |
| 删除一行并替换文本 | S |
| 用新文本覆盖现有的文本 | R |
| 合并当前这一行与下一行 | J |
| 切换当前字符的大小写 | ~ |
| 重复上一个动作 | . |
| 撤销上一个动作 | u |
| 将一整行恢复到原来的状态 | U |
移动命令
| 移动 | 命令 |
|---|
| 往前滚动一整屏 | ^F |
| 往后滚动一整屏 | ^B |
| 往前移动半屏 | ^D |
| 往后移动半屏 | ^U |
| 往前滚动一行 | ^E |
| 往后滚动一行 | ^Y |
| 将当前行移到屏幕顶端并滚动屏幕 | z[ENTER] |
| 将当前行移到屏幕中心并滚动屏幕 | z. |
| 将当前行移到屏幕底端并滚动屏幕 | z- |
| 重画屏幕 | ^L |
| 移到home位置(屏幕的顶端) | H |
| 移到屏幕中间那一行 | M |
| 移到屏幕的底端 | L |
| 移到下一行的第一个字符 | [ENTER] |
| 移到下一行的第一个字符 | + |
| 移到上一行的第一个字符 | - |
| 移到当前行的第一个非空格字符 |
| 移到当前行的第n个字符 | n| |
| 移到单词的结尾 | e |
| 移到单词的结尾(忽略标点符号) | E |
| 移到当前句子的开头 | ( |
| 移到下一个句子的开头 | ) |
| 移到当前这一段的开头 | { |
| 移到下一段的开头 | } |
| 移到当前这一节的开头 | [[ |
| 移到下一节的开头 | ]] |
| 往前搜索模式 | /pattern |
| 往后搜索模式 | ?pattern |
| 往同一个方向重复搜索 | n |
| 往相反的方向重复搜索 | N |
| 往前重复搜索 | / |
| 往后重复搜索 | ? |
| 搜索当前行中下一个出现x的地方 | fx |
| 搜索当前行中上一个出现x的地方 | Fx |
| 搜索当前行中下一个出现x的地方的前一个字符 | tx |
| 搜索当前行中上一个出现x的地方的后一个字符 | Tx |
| 重复上一个搜索命令,方向相同 | ; |
| 重复上一个搜索命令,方向相反 | , |
| 转至第n行 | nG |
| 转至文件结尾 | G |
| 回到上一个记号或上下文 | `` |
| 回到包含上一个记号的行的开头处 | '' |
| 显示当前的行号(不是移动命令) | ^G |
更多编辑命令
| 从光标位置到 | 更改 | 删除 | 复制 |
|---|
| 屏幕顶端 | cH | dH | yH |
| 屏幕底端 | cL | dL | yL |
| 下一行 | c+ | d+ | y+ |
| 本行的第5列(第5行字符) | c5| | d5| | y5| |
| 往下第二个句子 | 2c) | 2d) | 2y) |
| 上一段 | c{ | d{ | y{ |
| 模式 | c/pattern | d/pattern | y/pattern |
| 下一个模式 | cn | dn | yn |
| 文件结尾 | cG | dG | yG |
| 第13行 | c13G | d13G | y13G |