我做以下一些文本复制引号内,并粘贴在不同的地方(引号内为好):如何用缓冲区中的字符串替换引号中的字符串?
di"
go-to-buffer-for-copy
copy-string (ex. yi")
then-go-to-prev-buffer
paste-to-string (p)
但我想这样做的一个简单的方法,如:
yi"
go-to-buffer-for-paste
replace-inner-quotes-to-yanked-text
我做以下一些文本复制引号内,并粘贴在不同的地方(引号内为好):如何用缓冲区中的字符串替换引号中的字符串?
di"
go-to-buffer-for-copy
copy-string (ex. yi")
then-go-to-prev-buffer
paste-to-string (p)
但我想这样做的一个简单的方法,如:
yi"
go-to-buffer-for-paste
replace-inner-quotes-to-yanked-text
对于“replace-inner-quotes-to-yanked-text”,您可以使用vi"p
。
(拉我的评论到自己的答案)
假设你使用vim
与系统剪贴板,你可以做到以下几点:
"+yi"
到引号内的文字复制到系统剪贴板ci"<Ctrl-V><Esc>
用剪贴板的内容替换引号内的内容一个好处是,如果要将原始文本放在多个位置,可以将光标置于下一个位置并按.
。
vi"p
,由Randy Morris提出,但它取代了默认寄存器的内容,并且选择将不会在“do again”命令中捕获,只会粘贴。
您仍然可以使用"0
寄存器来访问您的原始文本,但我还没有找到一个可以在引号内部更改并以重做方式粘贴的命令。
此方法,可以留出插入模式,并且不需要无名剪贴板映射到系统剪贴板:引号
?'
之后的前几个字母里面
yi"
(抽出目标引号(找回来)的当前内容p
(膏)dt"
(删除预先存在的内容,这是在引号
它有复制和粘贴吗? '\'' – 2010-12-19 18:53:32
的确,谢谢。 – 2010-12-19 19:45:55
你能想到一个允许用'.'重做的版本吗?除了当我想在多个地方做同样的事情时,我完全可以做到这一点。在上面的情况下,最后一个缓冲区将被删除的文本替换,并且在重做时不会捕获选择内容。我现在的解决方案是''+ yi'''把文本放在我的系统剪贴板中,'ci“从剪贴板粘贴。只有几个字符比我想要的更多:) – 2013-08-06 00:07:29