重播"脚本" Emacs中的击键次数

时间:2017-12-27 14:17:01

标签: emacs

我想在终端中使用asciinema录制一些Emacs功能的中等长度的截屏视频。我可以开始asciinema,然后emacs -nw,进行录制,然后停止。但我发现我总是犯了多个错误。

所以我认为如果我能写一个"脚本"那就太好了。某些格式的击键,将被送到Emacs。就像重放一个键盘宏,但是相当长的一个,并且键之间有延迟(否则录音速度太快)。

这有可能吗?我愿意做一些elisp编程,但不知道从哪里开始。例如,我可以将我的脚本记录为列表,

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

并迭代它,转换击键并逐字逐字地发送字符串,但我如何"发送"结果给了Emacs?

如果缓冲区切换等可行的话会很棒。

1 个答案:

答案 0 :(得分:1)

您可以录制一系列用户操作(键盘,菜单等),创建键盘宏

简而言之,您使用<f3>开始录制,<f4>停止录制。然后,您可以使用<f4>(相同的键)播放录音。此外,你可以做各种奇特的事情,但这些都是基础。

有关详细信息,请参阅Emacs手册,节点Keyboard Macros

您可以使用图书馆showkey.el中的 showkey-tooltip-mode 模式,在工具提示中显示截屏期间使用的按键 - 请参阅ShowKey

要显示宏记录的键,您需要将选项showkey-tooltip-sleep-time设置或绑定到大于零的秒数。 (默认情况下它为零,因此您可以通过快速键入来阻止某些键显示。)

选项showkey-tooltip-key-only-flag控制是否在工具提示中仅显示键,键及其命令。

或者,您可以使用 showkey-log-mode 模式显示密钥的增量日志。