
Presenting the Eshell - signa11
http://www.howardism.org/Technical/Emacs/eshell-present.html
======
dang
Related from 2018:
[https://news.ycombinator.com/item?id=17026490](https://news.ycombinator.com/item?id=17026490)

2017:
[https://news.ycombinator.com/item?id=14825607](https://news.ycombinator.com/item?id=14825607)

2014:
[https://news.ycombinator.com/item?id=8649856](https://news.ycombinator.com/item?id=8649856)

------
nextos
Eshell has a lot of potential, but it needs a bit more polish and
documentation. It's sort of an unfinished part of Emacs.

People often take it for a terminal emulator, which is not, and get frustrated
when typical ncurses applications don't run properly.

~~~
yepguy
Yep. My Emacs workflow is a lot like my old terminal workflow, but now it's
Emacs+packages instead of terminal+ncurses apps. If you try to do a lot of
terminal emulation inside Emacs you'll probably have a bad time.

------
_emacsomancer_
I try to use eshell for whatever I can (some things still work better in a
standard terminal), so I wrote Equake, a drop-down console (with tabs) in
Emacs Lisp for eshell (though it can also open term or shell tabs as well):

[https://gitlab.com/emacsomancer/equake](https://gitlab.com/emacsomancer/equake)
(link include animated gifs of Equake in action)

------
viksit
Can someone comment on how to get better colors on eshell?

The only thing that stops me from using it is that xterm-256color and ansi-
color and all the articles on the web talking about colors ultimately say this
- the terminal emulator that it ships with just cannot do better colors?

(Eg when you do a ‘cargo run’ for rust, the error colors aren’t even
highlighted in eshell)

~~~
hammerandtongs
[https://github.com/atomontage/xterm-
color](https://github.com/atomontage/xterm-color)

That looked like the way to do it but I haven't tried yet.

~~~
spellcard199
I tried and it mostly works, but for rustc/cargo in particular you also have
to set the $TERM environment variable to "xterm" [1].

[1] [https://github.com/rust-
lang/rust/issues/45728#issuecomment-...](https://github.com/rust-
lang/rust/issues/45728#issuecomment-368359203)

~~~
girvo
Interestingly, I've gotten used to checking $TERM and making sure it's set due
to entering Docker containers to poke around them: in a lot of images, it's
unset, and you get really old-school terminal emulator behaviour without it!

------
grumdan
A minor addition to what the article says about ipython: You can run arbitrary
shell commands there without system() by prefixing them with !. It even
supports using python variables as in `a = "some_dir"; ! cd $a`.

------
vipref
this looks cool!

