Macvim:在粘贴之前修改剪贴板寄存器的内容

时间:2012-07-06 10:55:02

标签: vim clipboard macvim

让我们假设我在Safari中选择一些文本并将其复制到剪贴板,例如" foo,bar" (不带引号)。我现在可以看到,通过键入"*,可以在:reg寄存器中的Macvim中找到它。我可以使用快捷方式或使用edit->粘贴将此寄存器的内容复制到Vim编辑器中。但是,在粘贴之前,如何修改此寄存器(或任何寄存器)的内容。例如,我将如何应用搜索和替换例程,例如搜索","并用"。"替换它,这样寄存器现在包含" foo。 BAR&#34 ;?

提前致谢!

1 个答案:

答案 0 :(得分:2)

:reg *
original content

let @*='altered content'

:reg * 
altered content

你可以用每个命名的寄存器来做到这一点。

您的例子可以处理:

let @a=substitute(@*,',','.','g')
"ap

但是你应该在实际做太复杂的事情之前做一些备份:

:reg a
original content

let a_orig = @a

let @a='altered content'
"ap
altered content

let @a=a_orig

:reg a
original content