Vim 重复点 (".") 命令缓冲区?

标签 vim

我真的很喜欢 YankRing 的行为,它让我可以访问最近的几件事 yd删除或c不假思索地吊死。

然而,. 完全缺少这样的补充功能。重复命令,最常见的是当我输入我真正想重复的内容时,然后按 x 意外覆盖了该编辑清理一些东西。

通常可以通过视觉模式拉动我刚刚输入的内容来恢复一段时间,但这并不理想。

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

问题是如何从 Vim 中提取包含在任何存储 . 中的最后一个命令的表示。在它被吹走之前会做吗?

如果真的像我担心的那样,唯一的方法是让插件绑定(bind)到每个可以编辑内容的命令,并以存储我们自己的重复缓冲区的方式对其进行检测。这真的不切实际,因为我已经可以想象有多少其他插件会损坏。但是,如果可以的话,我仍然真的很想要这个功能。

最佳答案

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

RepeatLast plugin 采用了这种策略。 ,这可能会提供你想要的。

关于Vim 重复点 (".") 命令缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17960146/

相关文章:

initialization - Vimrc 命令排序

Vim 在文件夹中搜索文本

vim - Grep 不将搜索存储到 Vim 中的“/register”

linux - 提升用户权限

Git rebase 和 Vim 编辑器

Vimdiff-如何在两个文件中隐藏所有相同的行并仅显示不同的行

vim - 重新加载 Vim 高亮设置和配色方案

vim - 如何在 vim 中将很长的一行分成每行 64 个字符的小行?

vim - 在 Vim 中保存 "list of all open buffers"的变量?

regex - guid 的 vim 模式是什么