使用vim也好长时间了,差不多快三年了吧(起始大部分时间在使用模拟器)?
竟然连怎么把文本从vim复制到其他编辑器都不知道,
真是弱爆了。
终于忍不住搜索了一番,粘贴下来:
vim有若干个剪切板(寄存器),具体数目不定(有人说是12个,至少应该有26个)。不过哈,可以通过:reg
命令查看剪切板里的内容。""
是默认剪切板(无名寄存器),执行y
(复制)和p
(粘贴)时,默认操作的都是这个板。"+
是系统剪切板(这个寄存器并不是所有环境都有的),复制粘贴到它就能和其他编辑器交互了。把文本复制到指定剪切板:"Ny
(N是剪切板编号,如:a),粘贴同理。复制到系统板"+y
,从系统板粘贴"+p
。
vim还有几个特殊的寄存器:
复制专用寄存器("0
),当使用y
命令时,要复制的文本除了拷贝到无名寄存器外还会拷贝到复制专用寄存器,这样复制的内容就不会被其他操作(x
,d
)给覆盖。
黑洞寄存器("_
),如果我们执行删除操作时指定使用这个寄存器,那么被删除的文本将不保存任何副本(不指定寄存器时被删除的内容会保存在无名寄存器里)。
选择专用寄存器("*
),X11桌面环境支持一种叫做主剪切板的剪切板,它保存着上次被高亮选中的文本,可以用鼠标中间把它粘贴出来。vim的星号寄存器就对应着主剪切板。Windows和Mac
OSX没有主剪切板的概念,所以"+
和"*
可以混用。
表达式寄存器("=
),当我们从表达式寄存器获取内容时,vim将跳到命令行模式,并显示提示符”=”。我们可以输入一段vim脚本表达式然后按
其他的特殊寄存器有: "%
(当前文件名),"#
(轮换文件名),".
(上次插入的文本),":
(上次执行的Ex命令),"/
(上次查找的模式)。