我如何将替换值保存到寄存器或某个地方?例如
:s/foo/new/g
这样我就可以使用价值new
。
答案1
如果您想要将寄存器中的某些内容用作正则表达式中的替换,只需在需要数据的地方通过输入control-r@x所x
使用的寄存器的名称将其读入:-命令行。
\=
或者,您可以在替换中使用特殊字符串。当替换字符串以 开头时\=
,其后的所有内容都会被评估为表达式,因此您可以执行以下操作:
:s/foo/\=@x/g
再次,x
您使用的寄存器的名称在哪里。这也允许您使用变量名称:
:let new="new string"
:s/foo/\=new/g
看:
:help c_ctrl-r
:help sub-replace-special