假设我有一行文本存储在缓冲区k中,如何用缓冲区的内容替换掉某行文本?
在需要替换的文本行任意移动光标。执行缓冲区命令 P(将内容放在当前行之上)。运用 dd 命令删除当前行。
所以,"xPdd
进入您想要更改的行,并执行
V"kp
正如其他人所说,总的来说,使用dd"kP可以解决问题。我想补充一点,你可能想使用:g,这样如果你想用寄存器k的内容替换所有匹配'foo'的行,你可以这样做:
:g/foo/normal dd"kP
请注意,如果缓冲区的第一行匹配该模式,则使用p而不是P会导致一些问题。
我能想到的最好方法是:
"ayy (这将该行复制到“a缓冲区)
然后
dd (删除该行到标准缓冲区)
然后
"aP(在当前行之前插入缓冲区“a”)
你需要的是引号键 "。这使得你的复制/粘贴寄存器具体化。所以,如果你有一个在寄存器 k 中的东西,并且你想用它替换当前行,你可以输入:
^c$<esc>"kp
你可以使用ctrl-v并选择要复制的内容,然后按下“y”键将其“拔出”。然后使用ctrl-v或shift-v选择要替换的“某些行”,并按下“p”键粘贴它。