我知道Vim会保留以前命令,搜索,跳转位置,更改以及其他内容的历史记录。

设置了showcmd,Vim还会显示到目前为止为普通模式命令输入的键,直到执行该命令为止。

有时,在正常模式下,我输入错误并且发生了动作。我可以撤消这些操作,但是有时我想知道我的失误期间如何进行编辑。有时,编辑看起来很酷,我想知道将来如何重复。动作(例如运动或模式更改)发生了吗?

评论

可能相关:drbunsen.org/vim-croquet

#1 楼

通过@WChargin的链接,我发现了这一点:

您可以使用-w-W选项启动vim,如下所示:

vim -w keys.txt my_file



键入的所有字符都会记录在{scriptout}文件中,直到退出Vim。


-w将附加到指定的文件(如果存在); -W将会覆盖它。

它并不能完全满足您的要求,但这是正确的方向。您退出了vim,但是这里有一个单行补丁,可以立即编写击键。

评论


谢谢!我以此为起点插入源代码。看起来-w保存了每一个按键,而不仅仅是正常模式的命令,但是您是正确的:这是正确的方向!

– John O'M。
2015年2月8日在3:02

@xthrd,这些keys.txt文件的格式/结构如何?当我使用-w时,附加操作总是在long-long-long行中进行;并且,显示了一些奇怪的字符:在UTF-8下,每当我在新缓冲区中打开文件时,我都会得到€齛。它本身就是一个很好的标记,但是如果可以选择对日志进行解析,那将是很好的选择。

–林丰
17年11月19日在15:02

@llinfeng完全没有格式化。实际上,这只是一个包含按击键顺序创建的文件。 (尽管请注意,如果某些按键是,则该文件将包含换行符。)这是因为主要目的是创建可以使用-s选项播放的文件。但是,为什么不亲自尝试一下呢!

–丰富
17年11月28日在12:24

@Rich谢谢您的澄清。我已经使用这种密钥跟踪机制来调试开始搜索的问题。 [我的课是:从不为命令行映射W。]

–林丰
17年11月28日在16:50

#2 楼

q:显示命令历史记录。

我还发现您可以按部分完成的命令来循环显示比赛,这很有用。例如。
/abc
然后按会循环浏览以'abc'开头的搜索历史

评论


q:显示ex命令的历史记录,并且很有用,但不是正常命令的日志,例如“ ad2tn(删除寄存器a直到第二个n)

– John O'M。
2015年2月7日在17:37

不要忘记,在编辑命令的同时,您可以在历史记录编辑器中调出当前行,并通过按Ctrl + f使用vi编辑该行。

– Sukima
15年2月19日在4:20