Vim快捷键(三):剪切复制粘贴
📘 Vim粘贴板
- ✨ Vim具有默认的12个粘贴板(寄存器),分别为
0
、1
、2
…9
、a
、"
、+
,通过:reg
命令可以查看各个粘贴板中的内容。
👨💻 说明:
📝
"
粘贴板也叫临时粘贴板,其比较特殊,在Vim中简单使用y
命令只是复制到"
的剪切板(寄存器)中,同样使用p
命令也是粘贴"
剪切板中的内容。
📝"
之所以为被称为临时粘贴板,是因为针对其他几个寄存器的使用,都需要使用它作为中间寄存器来完成复制粘贴工作。比如,"ay
的作用是把内容复制到粘贴板a
。
📝+
粘贴板是系统粘贴板,使用"+y
可以将内容复制到系统寄存器+
中,此时我们就可以使用ctrl+v
将其粘贴到其他文档中;同理,想要将其他文档中的内容粘贴到vim中,需要使用"+p
。
📘 Vim剪切(删除)、复制和粘贴操作
📖 剪切(删除)
Vim中的剪切和删除通常具有相同的操作。
快捷键 | 作用 |
---|---|
[n]x | 剪切光标右边n 个字符,相当于d[n]l |
[n]X | 剪切光标左边n 个字符,相当于d[n]h |
d | 删除(剪切)可视模式下选中的文本 |
d0 /d$ | 删除(剪切)当前位置到行首/行尾的文本 |
d[n]w | 删除(剪切)n 个单词 |
d[n]l /d[n]h | 删除(剪切)光标右边/左边n 个字符 |
[n]dd | 删除(剪切)n 行 |
:m,nd | 删除(剪切)m 到n 行的内容 |
dgg 或dG | 删除(剪切)光标以上/下所有行 |
daw 或das | 删除(剪切)一个词/句子 |
d/x | 删除(剪切)当前位置到下一个x 之间的内容 |
📖 复制
快捷键 | 作用 |
---|---|
y | 复制可是模式下的文本 |
yy 或Y | 复制整行 |
y[n]w | 复制n 个词 |
y[n]l | 复制光标右边n 个字符 |
y[n]h | 复制光标左边n 个字符 |
y0 /y: | 从当前位置复制到行首/尾 |
:m,ny | 复制m 行到n 行的内容 |
ygg 或yG | 复制光标以上/下所有行 |
yaw 或yas | 复制一个词/句子 |
📖 粘贴
快捷键 | 作用 |
---|---|
p /P | 在光标之后/前粘贴 |
✨ Vim中的y(复制)、d(删除)、c(修改)、v(可视化)操作都可以跟上文本对象,进行更为复杂的操作。
📘 Vim寄存器
- ✨ 除了Vim自带的
0-9
的寄存器,我们还可以自定义寄存器名称
快捷键 | 作用 |
---|---|
a-z | 可以自定义寄存器名,比如"ayy 把当前行复制到寄存器a |
A-Z | 使用大写字索引寄存器,可以在寄存器中追加内容,比如"Ayy 命令将当前行的内容追加到a 寄存器中 |
:reg | 显示左右寄存器的内容 |
"* | 当前选择缓冲区,比如,"*yy 把当前行的内容放入当前选择缓冲区 |
"+ | 系统剪切板,比如,"+yy 将当前行内容放入系统剪切板 |