2017-12-27 322 views
2

我想在終端中使用asciinema來錄製一些Emacs功能的中等截屏。我可以開始asciinema,然後emacs -nw,做記錄,然後停止。但我發現我總是犯很多錯誤。Emacs中按鍵的重放「腳本」

所以我認爲,如果我能夠以某種格式編寫按鍵的「腳本」,這將是非常好的,這將被饋送給Emacs。就像重放一個鍵盤宏,但時間相當長,並且按鍵之間有延遲(否則錄製速度太快)。

這是可能以某種方式?我願意做一些elisp編程,但不知道從哪裏開始。例如,我可以記錄我的腳本列表,

(list (kbd "C-x C-f") "filename.el" (kbd "C-e") (kbd "C-x C-e") ...) 

,並通過它迭代,轉換按鍵和字符逐字發送字符串,但我怎麼「送」的結果Emacs的?

這將是很好,如果緩衝區切換等工作。

回答

1

您可以記錄一系列用戶操作(鍵盤,菜單等),創建一個鍵盤宏

簡而言之,您使用<f3>開始錄製,<f4>停止錄製。然後您可以使用<f4>(相同的鍵)播放錄音。另外,你可以做各種奇特的事情,但這些都是基礎知識。

有關詳細信息,請參閱Emacs手冊節點Keyboard Macros


您可以顯示其在提示你的截屏中正在使用的按鍵,使用模式showkey-tooltip-mode從庫showkey.el - 見ShowKey

要顯示宏記錄的密鑰,您需要將選項showkey-tooltip-sleep-time設置或綁定到大於零的秒數。 (默認情況下爲零,因此可以通過快速鍵入來防止某些鍵顯示。)

選項showkey-tooltip-key-only-flag控制是否在工具提示中僅顯示鍵或其鍵和命令。

或者,您可以使用模式showkey-log-mode顯示按鍵的增量日誌。

+0

謝謝。我知道鍵盤宏(我在問題中提到它們),但AFAIK格式是不透明的。理想情況下,我寧願記錄小序列,將它們粘貼到一個大的文件中,然後根據需要進行編輯。 –