2012-03-11 166 views
8

是否有可能记录我在VIM中键入的所有命令以便以后分析?我的意思是每个简单的命令如动作或改变文本,即jjjjjjkkkcw<newword>Vim命令日志

如果它不可能在VIM中,也许在Linux上有一个键盘记录器,可以连接到特定的窗口/进程?

我宁愿in-vim日志记录,因为它可以有不同的日志为不同的vim模式的选项。另外我不想记录“冒号”命令。

+0

相关:http://stackoverflow.com/questions/8928070/vim-show-my-last-command-command – sehe 2012-03-13 08:24:47

+1

我正在申请补丁到vim73的过程中,看起来很有希望 – sehe 2012-03-13 11:27:19

回答

12

是的,有!启动vim时,使用vim -W ~/vimcommands.log将文件“>>”或“-w”覆盖该文件。

-w {scriptout} 您输入的所有字符都记录在文件{scriptout}中,直到您退出Vim。 如果您想要创建与“vim -s”或“:source!”一起使用的脚本文件,这非常有用。 如果{scriptout}文件存在,则会附加字符。 -W {scriptout} 与-w一样,但现有文件被覆盖。

您可能想添加一个bash别名来存储基于文件名的vim日志。我很想看看你打算如何分析你的日志,我也想这样做。

2

为什么不开始录制一个宏(例如qa将开始录制一个宏,在a),它会将它们全部记录下来?

Ctrl-R a 

在插入模式下可以让你查看它的内容。

+1

我想在一天(甚至一周或一个月)内收集我的vim使用情况的统计数据。我可以忘记开始录制一个宏:)。另外,我有时会使用宏,我可能会忘记重新开始录制。但我喜欢这个想法 - 会试一试。 – cutalion 2012-03-11 21:22:41

+2

@cutalion - “一天中vim使用情况统计”?出于什么目的?对不起,我认为在这种情况下键盘记录器将是您唯一可行的选择。 – Rook 2012-03-11 21:34:19

+2

@cutalion宏记录到一个寄存器中,所以':reg a'将在屏幕上打印宏a,并且''ap'将它粘贴到文档中等 – Neil 2012-03-11 21:35:14