Take screenshot on every keystroke

Solution 1:

Try the Replay Vim plugin. It supports byzanz and ffmpeg for recording your Vim session.

Solution 2:

You can use Kazam or another tool to record the video and convert it to animated GIF with these commands. The first one creates a very large animated GIF and the second makes it more internet-friendly:

$ ffmpeg -i source.mp4 -loop 0 -r 5 -s 320x200 -pix_fmt rgb24 temp.gif
$ convert temp.gif -fuzz 8% -layers Optimize final.gif

I was about to suggest ascii.io as a worthy alternative but they have renamed their service to asciinema which was already cited.

Solution 3:

It seems that what you're looking is a software that records the terminal sessions, not the whole screen (or window). UNIX operating systems have this good old app called script. It does terminal recording but you need to send the resulting file to people and ask them to use the scriptreplay command in their terminal to replay it.

The easier solution is to use a service like http://asciinema.org which allows you to record a terminal session and publish it to asciinema.org where other people can watch it in their browser. Also, it supports embedding so you can put it on your blog post, your project documentation or in your conference talk slides.

Solution 4:

It seems that the easiest way to create something like that would be to use screen recording software. Some apparently offer built in GIF support and others will give you a movie that you can then convert to animated GIF.

Here are some additional questions that will be of use:

https://askubuntu.com/questions/4428/how-to-create-a-screencast

https://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast

In short, looks like Byzanz will do what you want.

Solution 5:

I don't know your target; if it is for web, you might want to check out the solution developed by Sublime Text's author Jon Skinner which creates animations much more lightweight than animated gifs for screencaps: https://github.com/sublimehq/anim_encoder; he has detailed his neat approach in this blog post.