【发布时间】:2011-05-30 19:56:51
【问题描述】:
每天至少一次我有以下情况:
A: This line should also replace line X
...
X: This is line should be replaced
我认为我没有有效地执行该任务。
我做什么:
- 转到 A 行:AG
- 拉线A:yy
- 转到第 X 行:XG
- 粘贴 A 行:P
- 移至旧行:j
- 删除旧行:dd
这有一个额外的缺点,即第 X 行现在在默认寄存器中,如果我发现另一行应该用 A 替换,这很烦人。从一个额外的寄存器中提取和粘贴 ("ayy, "aP) 让这个简单的任务效率更低。
我的问题:
- 我是否错过了用于替换之前被拉出的行的内置 Vim 命令?
- 如果没有,我如何绑定我自己的命令以在默认寄存器中保留(或恢复)被拉出的行?
【问题讨论】:
-
这是我对 Vim 编辑模型的最大问题。我很想知道一个解决方案。 CUA 编辑器区分剪切和删除,因此您只需剪切一些文本,然后您可以删除并粘贴您想要的所有内容。使用 Vim,你所做的任何删除都会破坏你的剪切文本。你最终使用的击键次数比其他编辑器多得多。
-
@sehe 我非常了解寄存器,但是每次剪切/粘贴操作会增加 4 次击键,并且需要更多的深思熟虑。当您进行大量编辑时,这会很快加起来。
-
除了节省几个字节的内存之外,与其他任何寄存器相比,使用黑洞寄存器是否有优势?我认为任何寄存器都可以是黑洞寄存器,如果你不读回它。
标签: vim