vim - 2

发布时间 2023-07-10 22:47:22作者: 叁只小羊

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