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 | 当前行下方插入空行 |
~ | 大小写转换 |