Back to the talks Previous by track: Speedcubing in Emacs Next by track: Emacs MultiMedia System (EMMS) Track: General

Eat and Eat powered Eshell, fast featureful terminal inside Emacs

Akib Azmain Turja (he/him) - IRC: akib, Fediverse:,

Format: 10-min talk followed by live web conference Q&A
Discuss on IRC: #emacsconf
Status: Waiting for video from speaker


Eat is a terminal emulator for Emacs, written in pure Emacs Lisp. It can run most (if not all) terminal programs. Despite being implemented in Emacs Lisp, it is fast enough for day-to-day uses.

In this talk, I'll give an overview of Eat, its features and configuration. I'll show the most useful features and the features that make Eat unique (e.g. shell integration, mouse tracking, Sixel support). (This may include features that hasn't been implemented yet but will be implemented and stable enough by the time of the recording of the talk.) Most of the features require no configuration to use, but are configurable with user options. I'll also show the most useful customization options available that users may want to customize or tinker with.

Thanks to the architecture of Eat, Eat can emulate terminal within any region of a buffer. Therefore, Eat can be integrated with Eshell. I'll show how to integrate Eat with Eshell, and the useful Eshell-specific features and configuration.

Then, I'll compare Eat with other terminal emulators available for Emacs, and I'll show which feature that Eat has but the other doesn't, and which feature Eat lacks. I'll show why Eat is good or bad for some users/use cases. For example, why Shell mode users may prefer Coterm (a terminal emulator for Comint) over Eat, why Eat is better Term mode in the most cases, or why Vterm should be prefered for huge bursts of outputs, etc.

Then I'll give pointers to the documentation available like the Info manual or README and what they contain. And I'll also discuss what to do when you hit a problem. I'll discuss about the common problems or misconfiguration, and also discuss where and how to report bugs properly. I won't go into much details in this part, since the manual covers this topic completely, and the users are expected to not encounter problems.

Then I'll discuss the future plans of the project. And finally, I'll conclude the talk with a summary of the whole talk.


  • Introduction: What's Eat and why?
  • Installing Eat from NonGNU ELPA
  • Demonstrating Eat's features and configuring them
  • Eshell integration
  • Comparison with other terminal emulators
  • Shortcomings and common (fixable) problems
  • Future plans
  • Conclusion

Questions or comments? Please e-mail

Back to the talks Previous by track: Speedcubing in Emacs Next by track: Emacs MultiMedia System (EMMS) Track: General