vim 剪贴板

vim很强大,时常都会有新的惊喜和发现。今天解决的是两个关于剪贴板的问题。

1、怎样在X系统与vim进行拷贝粘贴操作(即vim与系统剪贴板的交流)?

2、拷贝某段文本A,覆盖文本B(或者用d或x删除B)。之后再使用p进行粘贴,就变成了B的内容,如果希望继续粘贴A,怎么办?

首先来点基础,vim有多个剪贴板,其中就包括了系统剪贴板。使用命令:reg可以看到各个剪贴板的内容。其中“”表示当前使用的剪贴板,“0-9是历史剪贴板,“#就是系统剪贴板了(你可以在系统里拷贝一些东西,看是不是会出现在“#剪贴板里)。在vim中使用y可以把内容拷贝到“”号剪贴板,继续y会把新的东西放入“”,而原来“”的东西就会被压入“0-9的各个历史剪贴板中。X11系统下还有一个“*的剪贴板对应中键拷贝粘贴,windows不知道有没有。

解决第一个问题:

“+y 把选中内容拷贝到”+号剪贴板,即系统剪贴板

“+p 把系统剪贴板的内容粘贴到vim,这一个用shift+insert也可完成

解决第二个问题:

“0p 可以把已经被挤到”0剪贴板的内容A重新粘贴出来

嫌长的做一个map,映射到某个功能键或组合就方便了。

载自:http://www.wentrue.net/blog/?p=91

注意事项: 在vim中输入:reg就会显示个剪贴板的内容,如果看不到"+ 这个剪贴板,那还需要安装vim增强功能

  1. sudo apt-get install vim-gui-common    


    其实我个人认为作者讲得不是很好,我研究vim剪贴板就两个目的:

1) 将vim中的数据复制到系统剪贴板

2)粘帖上上次复制的内容( 我复制了一行,现在删除一行,想要粘帖之前复制而不是现在删除的这一行)

问题1:

    先选中要复制的数据 "+y( 1.输入“号 2. 输入+ 号,3.输入字母y, + 代表系统剪贴板,意思就是将当前的内容定向复制到系统剪贴板),要使用刚复制的内容,只需要ctrl+v了,很方便。

    顺便提一下,将系统剪贴板的内容复制到vim中,只需要在normal模式下输入"+p即可,你应该懂的。

问题2:

    默认复制和粘帖都发生在"0 剪贴板中,我们只要将数据复制到其他剪贴板中就不会被马上替换掉了,使用方法:先选中要复制的内容,然后“2y(以2号剪贴板为例)就复制到2号剪贴板中了,粘帖的时候只需要在normal模式输入"2p即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值