Vim 命令日志

9

是否有可能记录下我在VIM中输入的所有命令以供后续分析?我的意思是每个简单的命令,比如移动或更改文本,例如 jjjjjjkkkcw<newword>

如果在VIM中无法实现,也许在Linux系统上有一个键盘记录器,可以附加到特定的窗口/进程上?

我更喜欢在VIM内部记录日志,因为它可以针对不同的VIM模式设置不同的日志选项。另外,我不想记录“冒号”命令。


相关:https://dev59.com/92ox5IYBdhLWcg3w3X5S - sehe
1
我正在为vim73应用补丁的过程中,看起来很有前途。 - sehe
2个回答

14

有的!当启动vim时,使用vim -W ~/vimcommands.log将字符>>到文件中,或使用-w来覆盖该文件。

-w {scriptout} 所有你输入的字符都会被记录到文件{scriptout}中,直到你退出Vim。这对于创建脚本文件以供“vim -s”或“:source!”使用非常有用。如果{scriptout}文件已经存在,则字符将被追加到该文件中。 -W {scriptout} 类似于-w,但是一个已经存在的文件将被覆盖。

你可能想添加一个bash别名来存储基于文件名的vim日志。我很有兴趣了解你打算如何分析你的日志,我也想做同样的事情。


2
为什么不直接开始录制宏(例如,用qaa中开始录制宏),它会为您记录所有内容?
Ctrl-R a

在插入模式下,您可以查看其内容。

1
我想在一天(甚至一周或一个月)内收集我的vim使用统计数据。但是我可能会忘记开始记录宏 : )。有时我也会使用宏,而且我可能会忘记重新开始录制。但我喜欢这个想法-我会试试看。 - cutalion
2
@cutalion - “一天中您使用vim的统计数据”?为了什么目的?抱歉,我认为在这种情况下键盘记录器将是您唯一可行的选择。 - Rook
2
@cutalion 宏被记录到寄存器中,因此 :reg a 将在屏幕上打印宏 a,并且 "ap 将把它粘贴到文档中等等。 - Neil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接