Hello everyone. Welcome to my talk.
I am Akib Azmain Turja and my talk is titled
"Eat and Eat-powered Eshell:
Fast, featureful terminal inside Emacs."
So I just claimed that Eat is a fast terminal emulator.
Let me show you that. I will print a 1-megabyte sized file
in the terminal using this command.
It takes 0.76 seconds. Now let's benchmark term-mode.
I will be in term -mode. I use the same command,
and it's clearly the loser.
It took 12 seconds, more than an order of magnitude slower.
Let's also measure the speed of return.
And it took 0.79 seconds.
But this is actually a little bit slower than Eat.
Why? That shouldn't happen.
Anyway, hopefully that shows how fast Eat is.
So let's run some extra programs in Eat,
like top. You can also run htop or even btop.
There is a fancy version of top.
And obviously you can run Emacs in it.
There is mouse support, and there is true color support.
You can show any color in the terminal
as long as your main display supports it.
And then there is shell integration.
For example, directory tracking.
Like, I can switch to some other directory
and Emacs follows the shell directory.
Then there is prompt annotation,
this column. These zeros indicate
that the command has executed successfully.
Then you can navigate between commands like this.
There is message passing.
By message passing, I mean sending something
from the terminal to the host Emacs.
By host Emacs, I mean Emacs running the terminal.
For example I can say "hi" and it's showing "hi"
in this echo area of my Emacs.
Then let's show you the killer feature of Eat,
Eat's shell integration.
You can run any program in it. For example: top, btop,
and obviously Emacs itself.
So let's discuss how to use Eat. There are four input modes.
The first one is semi-char mode. That is the default mode.
This is like vterm. All keys are the same to your terminal
except these keys: C-c, C-x, C-g, M-x, etc.
And then there is char-mode, where all keys
are same to your terminal, except this M-RET key
which takes you back to the semi-char mode.
Then there is Emacs mode where you can select
and copy from the terminal buffer.
And finally, there is line mode.
You can use it to use your terminal like a comint buffer.
All these input modes are available in both Eat
and eat-eshell mode, except this line mode--
it's only available on Eat.
By "on Eat", I mean the terminal you get
by this eat command. By eshell, I mean
when eat-eshell integration is enabled
inside the eshell buffer.
There is an info manual,
And also the README is quite informative
for you to get started.
If you hit any problem,
there is a dedicated chapter for debugging that,
a common problems chapter.
If your problem is still not fixed,
please report it to me.
This helps me improve it for everyone.
When you report, please read this chapter
so that you can make a better bug report.
I am really looking forward to how people use it
in their workflow.
I am excited about that.
Hopefully you enjoyed my talk. That was all.
Enjoy EmacsConf. Goodbye.