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