2017-12-27 146 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格式是不透明的。理想情况下,我宁愿记录小序列,将它们粘贴到一个大的文件中,然后根据需要进行编辑。 –