如何解决这个复制粘贴问题?

时间:2014-08-27 19:40:26

标签: vim

让我们说你正在浏览this page并看到以下代码片段:

_trackEvent(category, action, opt_label, opt_value, opt_noninteraction)

你双击选择整行,复制它然后想在Vim中的双引号之间插入它:

<div onClick=""></div>

好吧,而不是这个:

<div onClick="_trackEvent(category, action, opt_label, opt_value, opt_noninteraction)"></div>

这是我在做的时候得到的:

_trackEvent(category, action, opt_label, opt_value, opt_noninteraction)
<div onClick=""></div>

这很烦人。这是由于OS X在剪贴板中插入的结束行中断所致。在使用一个衬垫时,我怎么能告诉Vim忽略结束换行符?

1 个答案:

答案 0 :(得分:1)

因为你复制了整行(带有尾部换行符),所以Vim使用 linewise 粘贴,即文本没有插入光标位置,而是在上面/下面的单独行中现在的。使用插入模式中的<C-R>*,您可以避免这种情况,但它仍会插入尾随换行符。

我的UnconditionalPaste plugin有一个gcp映射,它始终以字符模式粘贴寄存器。 (以及其他模式和特殊粘贴的几个相关映射。)使用它,您只需将光标放在第一个/第二个"上,然后执行"*gcp / "*gcP