I’ve been using konsole (and iterm2 on my work mac) for most of my working career, but on the linux side, I’ve recently switched to Kitty, but now I’m wondering if I can finally get used to just using emacs on both.
Does anyone use emacs as their main terminal? Is there one better than ansi-term that supports modern features like libsixel?
I still can’t quite get used to the keybindings (like C-c twice for ^C) and some other weirdness.
I haven’t fully moved my terminal needs to Emacs (though I’d like to) for the same little niggles you mentioned. Just wanted to recommend another option amongst the good ones already suggested here.
Same little what
niggle (plural niggles)
A minor complaint or problem.
How do u toggle eat? Just a keybind to open it and close it with q?
I’m not sure I understand your question.
Eat has its own major mode which is used when you open a standalone buffer via the
eat
function.When it’s embedded in Eshell it mostly just does the right thing whenever you invoke a command that uses terminal control codes (e.g. htop) – and many of those can be closed with q, yes.
I assume Eat is activated for any program listed in the eshell-visual-commands variable (but I’ll admit I don’t really understand how that works). The notable new minor modes present when I run htop in eshell are
Eat--Eshell-Local
andEat--Eshell-Process-Running
.Yeah i was just asking if you close your eat buffer with q. I really like having one button to open and close my terminal so thats why i asked. Thanks for the extensive awnser tho
I more or less live in emacs on my development machine, so vterm is my main terminal
@kelvie hm… I rarely use terminal emulators anymore, I mostly use Eshell nowadays.
@kelvie many people use vterm which is in many aspects better than ansi-term.
Thanks for the rec, my first impression is that it doesn’t really work well with evil-mode, but that may be my configuration error (as it is with emacs).
Vterm not working well with evil was actually my motivation to drop evil completely and embrace emacs key bindings.
It was the best decision I made. I don’t perceive a any measurable impact on my ability to efficiently write code or edit text, but I’ve seen a significant improvement on my ability to use emacs in general
I went the other way, I’ve used emacs key bindings for over a decade and switched to evil because it appears most things in doom emacs worked better.
Magit is still a bit of a mess with evil, though, but is manageable.
Maybe one day I’ll switch back again, but my fingers know both.
If you like modal but find evil a little bit weird, try https://github.com/meow-edit/meow. Its a bit of work to set up, but once you made it yours its great!
It’s probably a configuration error.
As far as I remember it was working fine like a year ago when I was trying to make my own config (just vterm and evil packages were required). At the time the Doom people were saying it was impossible due to how terminal emulation works. Now it’s mostly working in Doom unless you go over 1 line. If you do, you’re not in a good place since you can’t use ESC to jump between words.
This is a problem that I face too. I have not yet figured out how to smoothly move over my terminal workflows to vterm (running ZSH in vi mode).
I even made a post here asking for suggestions but I have not found a graceful solution to it yet.
@AusatKeyboardPremi @kelvie If you use doom-Emacs, you just hit C-z to go to Emacs-state and hit it back again to go back to Evil-mode after working in a mode you think Emacs-state is more productive…
Yes, I have been using eshell exclusively for the last 7 years. It does have a few drawbacks, but for me it’s definitely a win overall due to a) everything being in a buffer, b) being able to run both elisp functions and executables from the command line, and c) tramp.
P.s. I chuckled a bit when you mentioned sixel graphics support as modern. :) Jokes aside, I have my own toy implementation of sixel graphics in elisp, so decent emacs support is probably out there already.
Main terminal emulator, heck Emacs is my entire Window Manager!!