There is a thing which provides zsh completions. It’s zsh. If that’s what you’re wanting, then maybe don’t stop using it?
If the zsh situation is similar to bash (as it seems to be, from the link you posted), then then problem is that zsh provides completions through readline commands only.
This makes it hard to access them from Emacs. The bash-completion package mentioned in the blog post does that, but it’s a tricky solution, and not super robust in my experience…
async-shell-command
I switched to
detached-shell-command
fromdetached.el
“In my experience Emacs simply isn’t a very good terminal to run a shell in anyway”
Do you know about
vterm
andeat
? If yes, what is the problem with these?not OP, but i tried eat for about 2 seconds and immediately gave up. The backspace key produces spaces.
Then I tried vterm. The backspace key works! OK the basics are out of the way. Let’s try my basic git workflow, using ncurses program tig to view a log. Nope, lots of random jumpy scrolling.
Maybe these issues have work arounds. But iterm2 + tmux + Emacs already work flawlessly. Years of use with 0 issues.
eat and vterm don’t have these problems for me — backspace works, less and vi work, haven’t tried tig (I use magit). No hard blockers.
For tui user, i think tmux makes sense, it has similar keybindings anyway. For gui users vterm really helps. And it gets you even more familiar key bindings. It works for all the front ground apps I use.
As the others have mentioned, check that
TERM
is correctly set (it should be something likeeat-truecolor
), but also make sure that the terminfo file is there. If you’re on Mac or, I assume, any flavor of BSD, the version that comes with eat won’t work out of the box because Linux and Darwin/BSD compile these files differently.Just run
M-x eat-compile-terminfo
and that should get you the proper files for your system. Restart eat and it should work.
Yeah, vterm is a game changer for me. The directory tracking and ssh(tramp) support make it so seamless. Highly recommend giving it a try!