2012-03-11 152 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