Vim重复点(“。”)命令缓冲区?

时间:2013-07-31 01:29:40

标签: vim

我非常喜欢YankRing的行为,这让我可以在不假思索的情况下访问y anked或d eleted或c绞死的最后几件事。

然而.重复命令完全缺少像这样的补充功能,大多数情况下,当我输入我真正想要重复的内容时,然后通过按x意外覆盖该编辑来清理某些内容

通常情况下,我可以通过视觉模式来恢复我刚输入的内容,但这并不理想。

记住过去的几个命令应该很容易。

问题是如何从Vim中提取.在被吹走之前所做的任何商店中包含的最后一个命令的表示?

如果它是我所担心的,唯一的方法是让一个插件绑定到可以编辑某些东西的每个命令,并以一种存储我们自己的重复缓冲区的方式对其进行检测。这真的不实用,因为我已经可以想象有多少其他插件会破坏。但是,如果可能的话,我仍然真的想要这个功能。

2 个答案:

答案 0 :(得分:2)

不幸的是,没有办法获取并重放.命令后面的命令。唯一的解决方法是永久处于宏录制模式,并使用宏寄存器替代.命令。

这种策略由RepeatLast plugin使用,可能提供你想要的东西。

答案 1 :(得分:1)

插入模式下的关键字完成和/或ctrl-a应该可以满足您的需求。

应该有一种更像是类似yankring的解决方案,但正如你所说,可能有点过于干扰。在你让别人为你做之前,你自己先看过vim.org吗?