1.1 删除文本
| 命令 |
说明 |
| x |
删除光标所在的字符 |
| X |
删除光标左边的字符 |
| dw |
删除一个单词(包括单词后边的空白) |
| de |
删除一个单词(不包括单词后边的空白) |
| dG |
删除到最后一行 |
| d^ |
删除到行首 |
| d$ |
删除到行尾 |
| dd |
删除光标所在行 |
| D |
删除到行尾 |
| dgg |
删除到第一行 |
可以指定量词,表示执行多少次。比如:
3x # 表示执行3次删除动作
1.2 修改文本
删除文本,之后进入插入模式
| 命令 |
说明 (删除,之后进入插入模式) |
| cw |
删除单词 |
| ce |
删除单词 |
| c$ |
删除到行尾 |
| c^ |
删除到行首 |
| cG |
删除到最后一行 |
| cgg |
删除到第一行 |
| cc |
删除当前行 |
| C |
删除到行尾 |
| s |
删除当前字符 |
| S |
删除当前行 |
1.3 替换单个字符
| 命令 |
说明 |
| r |
替换光标上的字符(输入r,之后输入新字符) |
| s |
删除光标上的字符,输入新字符,之后esc回到命令模式 |
1.4 重复一个修改
比如:按x删除,之后就可以按 . 继续删除。
1.5 可视模式
| 命令 |
说明 |
| v |
开启可视模式,之后移动光标可以高亮选择 |
| ctrl + v |
开启块选择模式,按o可以在块的对角线移动,按O左右两侧移动 |
开启可视模式之后可以删除块(x),复制块(y),粘贴块(p)
可视模式插入列:
ctrl + v + 5j # 选择某列,共5行
I # 进入插入模式
hello # 输入列的内容,比如:hello
ESC # 退出,剩下四列自动插入hello
1.6 复制与粘贴
| 命令 |
说明 |
| y |
复制 |
| yw, y$, y^, yG, ygg, ye ... |
复制对应的词,行尾,行首等(和删除及修改类似) |
| yy |
删除当前行 |
| Y |
复制当前行 |
| 3yy |
向下复制3行 |
| p |
粘贴 |
| 3p |
粘贴3次 |
| "+y |
复制到“+寄存器,”+是系统剪贴板 |
| "[a-z]y |
复制到a-z任意一个寄存器中,如:"gy |
| "+p |
粘贴+寄存器中的内容,即系统剪贴板中的内容 |
| "[a-z]y |
粘贴a-z任意一个寄存器中的内容,如:"ap |
| xp |
交互两个字符的位置 |
寄存器(也称剪贴板),可以把数据放到这里面,应用的时候再粘贴。
1.7 文本对象
| 命令 |
说明 |
| iw |
一个单词对象 |
| ia |
一个单词对象(包含后面空白) |
| is |
一个句子对象 |
| as |
一个句子对象(包含后面的空白) |
| ip |
一个段落 |
| ap |
一个段落对象(包含后面的空白行) |
| i( 或 i) |
()中的内容 |
| a( 或 a) |
()中的内容(包含()) |
| i[ 或 i] |
[]中的内容 |
| a[ 或 a] |
[]中的内容(包含[]) |
| i< 或 i> |
<>中的内容 |
| a< 或 a> |
<>中的内容(包含<>) |
| i和大括号 |
{}中的内容 |
| a和大括号 |
{}中的内容(包含{}) |
| i" |
"" 中的内容 |
| a" |
"" 中的内容(包含"") |
| i' |
'' 中的内容 |
| a' |
'' 中的内容,(包含'') |
可以对文本对象:选择(v), 删除(d), 修改(c), 复制(y)等操作,如:
func main() {
...
#ci{ 此时{}中的内容都删除,并且进入插入模式
}
1.8 其它命令
| 命令 |
说明 |
| I |
光标放到行首(大写的i),进入插入模式 |
| A |
光标放到行尾,进入插入模式 |
| O |
当前行上方插入空行 |
| o |
当前行下方插入空行 |
| ~ |
大小写转换 |