Dead Simple Emacs Screencasts
This article is part of the “Meta Advent 2019” series. I’ve committed to writing a new blog post here every day until Christmas.
Finally on the 7th day of the Advent we made it to the One True Editor! Today’s topic is doing screencasts with Emacs the right/simplest way.
Generally when you’re doing screencasts of a text editor session the most important thing is to make it clear what keys are you pressing and what commands are being invoked by those keys (as you might have non-standard keybindings). Traditionally people approach this problem by installing some additional program that displays on screen all the keystrokes alongside their editor. I’m not sure what most people are using, but I’m quite fond of the open-source tool keycastr. That’s a perfectly fine solution for most editors, but it has two crucial shortcomings:
- It’s not written in Emacs Lisp
- It will show you only the keystrokes, as it doesn’t know anything about the underlying editor commands
I guess in some editor communities those shortcomings could be overlooked, but
this is Emacs! Enter the Emacs package
keycast, the hero of today’s
article. After installing it, all we need to do is enable keycast-mode
and
some magic happens (pay attention to the modeline):
Pretty cool, right? That’s just 250 lines of Emacs Lisp code, and it’s a perfect illustration of might and magic of Emacs!
When you’re done with your screencast just do M-x keycast-mode
again to disable keycast
.
As you might expect from an Emacs package, keycast
is highly configurable. I’m too lazy today to go into any details
there, but everything you need to know is just M-x custimize-group keycast
away.
Kudos to the legendary Emacs hacker Jonas Bernoulli (a.k.a. tarsius
) for
creating another awesome package. By the way, if you love magit
and everything else Jonas is doing for
the Emacs community - please consider supporting his work.
That’s all I have for you today! Keep screencasting!