当您使用删除线dd
,你执行一个面向行删除。
该p
命令将粘贴在光标位置之后。由于默认寄存器是按行填充的,因此这意味着它将粘贴在光标所在的行之后。
如果您改为以字符方式(例如0D
)删除该行的内容,则该寄存器将以字符方式删除,因此将其粘贴到光标所在的字符之后。
通常,行为应遵循删除/拖动和粘贴的预期行为。但是,可以-wise
使用getreg() / setreg()修改寄存器的性质。
不过要小心。在您的第一个示例中,仅将寄存器更改为字符式操作并不会删除作为删除一部分的换行符。它只是改变粘贴的方式。
有关删除整条生产线,但其粘贴面向字符的具体方案建议,请参阅这篇文章。