vim中的复制与粘贴
初次使用Vim,还没来得及看手册的用户,肯定会疑惑ctrl+c、ctrl+v无效了,只能在gvim中鼠标选择,然后右键复制和粘贴。事实上Vim的剪切板十分强大,甚至比windows下那些独立的剪切板软件还有强大。
一、可视模式下选择文本
v 逐字逐行选择,上下左右移动有效。
V 整行选择,上下移动有效,左右仅移动光标。
ctrl-v或ctrl-Q(Windows) 矩形块选择,上下左右移动有效。
o 光标移动到选择文字的另一端,(矩形块选择时o只是移到对角上,O移动到同一行另一个角上。)
二、VIM复制命令
y 复制,适用于选择文本后再按y复制
yw 复制一个单词(包括空格) ye 复制一个单词(不包括空格)
yy 复制一整行,类似dd删除一整行(包括行尾换行符)
Y 复制一整行(包括行尾换行符),不同于D删除到行尾(不包括换行符)
注:y为操作符,可加计数前缀,例如:2yw=y2w(复制两个单词)
三、VIM中的寄存器
1. 复制后的文本会保存在剪切板,Windows中的剪切板相当于Vim中的寄存器。
2. 查看寄存器的内容,用 :reg 命令
3. VIM中共有九种类型的寄存器: (更多寄存器帮助 :help registers)
- 无名寄存器 ""
- 10 个编号寄存器 "0 到 "9
- 行内删除寄存器 "-
- 26 个命名的寄存器 "a 到 "z 或者 "A 到 "Z
- 四个只读寄存器 ":、".、"% 和 "#
- 表达式寄存器 "=
- 选择和拖放寄存器 "*、"+ 和 "~
- 黑洞寄存器寄存器 "_
- 最近搜索模式寄存器 "/
四、VIM复制粘贴步骤
1、将选择文本复制进寄存器
<">+<寄存器>+<复制文本>
例如:复制一单词到系统剪切板(Windows中 * 和 + 寄存器效果一致)
"*yw
2、粘贴寄存器中的内容
<">+<寄存器>+
例如:粘贴该单词到系统任意位置
"*p
<">+<寄存器>+<复制文本>"*yw<">+<寄存器>+"*p