在Vim中有没有将文本放入寄存器的方法?
可能重复:
有什么方法可以在vim中删除而不会覆盖最后一次放弃?
使用Vim我经常想用我刚刚抽出的块替换一段代码。
但是,当我删除要替换的代码块时,该块本身会进入删除刚刚被抽出的块的寄存器。 所以我养成了习惯,然后插入,然后删除我不想要的东西,但是对于大块代码来说,这会让试图保持插入块和块单独删除变得混乱。
那么,在Vim中取代文本的最爽快和最快捷的方式是什么?
要删除某些内容而不将其保存在寄存器中,可以使用“黑洞寄存器”:
"_d
当然,你也可以使用任何其他不含任何你感兴趣的寄存器。
是的。 它比首先删除“旧”文本略微更复杂,但是:
我以...开始
line1
line2
line3
line4
old1
old2
old3
old4
我移动+ v选择行1,行2,3和4,并用d命令删除它们
然后我以同样的方式删除旧的1-4行。
然后做
"2p
这将粘贴第二个被抽出的线(第1-4行)。 "3p
将做倒数第三,等等。
所以我最终结束了
line1
line2
line3
line4
参考:有关编号寄存器的Vim文档
VIM文档:编号寄存器0包含来自最近yank命令的文本,除非该命令用[“x]指定另一个寄存器。
例如,我们猛击“foo”并删除“bar” - 注册表0仍包含“foo”! 因此可以使用"0p
”来粘贴“foo”
上一篇: In Vim is there a way to delete without putting text in the register?
下一篇: NHibernate HiLO: different needs in different application scopes