1. vim中的寄存器
1.1 认识寄存器
在vim中复制的内容放在了一个地方,这个地方叫寄存器,也有称乎剪贴板。vim中有很多寄存器:
"" 未命名寄存器(unnamed),存放最近一次的复制,删除,修改内容(d, c, s, x, y),原先的内容被覆盖。
"0 到 "9 vim把复制和删除命令的文本放在这里
"0 存放最近一次 y 复制的内容
"1 存放最近删除或修改的文本(一般文本小于一行放在_寄存器中)
"2 ..."9 每一次更新"1 则原先的内容放到"2 中,2->3, 3-4, .... 9之后的内容丢失,这是系统自动的。
"a ~ "z 是命名寄存器,用户指定数据放到这里。
# 把需要多次粘贴的放在寄存器m中
# 复制下面的内容:
# 选择:Vjj 复制到m中:"my
int add(int a, int b) {
return a + b;
}
# 在某个时刻粘贴
"mp
"+ 或 "* 用于映射系统剪贴板,放到这里,可以和其它程序互访问。
vim的寄存器与系统剪贴板不同,每个寄存器都是独立的,多个vim窗口,每一个窗口都有自己完整的寄存器
1.2 查看寄存器
运行:
:reg [寄存器的名字] # 寄存器的名字省略,显示所有
1.3 访问系统剪贴板
把数据放到"+ 寄存器中即可。
"+yy #复制当前行到"+寄存器中
"+p #粘贴系统剪贴板中的数据
系统剪贴板类似全局变量,谁都可以访问。
默认系统剪贴板和vim寄存器是不互通的,可以设置一下:
# ~/.vimrc
set clipboard=unnamedplus
如果设置不好使,需要查看一下当前版本支不支持 clipboard
vim --version | grep clipboard
如果出现+clipboard 表示支持,如果出现 -clipboard 表示不支持,需要重新安装。