Vim的剪切板拥有多个寄存器,通常会在以下两种方式中进行数据交换:
- vim 内部的剪切和粘贴
- vim与系统剪切板的交互
pic fromseabornlee.cn
1.通常的使用
-
yank(移动至寄存器):
yy
:复制整行;
nyy
:复制n行;
yw
:复制一个词;
ynw
:复制n个词
y + ^ or $ or G
:复制到行首、行尾、文档开头 -
paste:
p
: 粘在后面
P 大写
:粘在前面
2.进阶用法
但在vim中有很多种不同的寄存器,可以使用"+reg+y
的命令将对应的内容存入不同的寄存器中,双引号是寄存器的前缀,reg是寄存器的名称。
VIM中的寄存器包括十大类:
按esc
进入命令模式,输入:help registers
将会显示如下十种寄存器:
1. 双引号代表的匿名寄存器,默认寄存器: ""
2. 10个数字寄存器 "0 to "9
3. 小删除寄存器 "-
4. 字母寄存器 "a to "z or "A to "Z
5. 只读寄存器冒号点号百分号 ":, "., "%
6. 与buffer交互 "#
7. 表达式寄存器 "=
8. 选择与拖放,包括星号,加号,波浪号 "*, "+ and "~
9. 黑洞 "_
10. 最近搜索寄存器 "/
在使用时,利用"xxxy 或者 "xxxp
即可将对应内容缓存到对应寄存器中,或者将寄存器中的内容粘贴出来。需要注意的是双引号一定要写。
如果如系统交互,一般会使用"+
,"*
两个剪切板来进行。
比如从网页copy的一段代码,要粘贴到自己的代码后:
#include <stdio>
This is my code
here need to paste
type "*p to poster code after.
参考资料:
vim 命令模式::help regsters
帮助文档
详细中文解释
博客
资源:vim-web, 入门:1 语言,2简明, 图形教程
没事的时候可以玩游戏Vim大冒险来练习Vim。
最后附上一张vim键位图:
keyboard pic from runoob.com