I tend to prefer shell over term. With shell everything is text and I can use the Emacs bindings to move around.
Also, I have been trying to avoid opening my nixOS terminal. I have been trying to stay in Emacs as much as I can. However, executing htop on *shell* does not work. The image below shows what I get:
I was expecting what is been retrieved by the *terminal* buffer.
I feel I do not really understand terminal emulators in Emacs.
Why htop does not work in *shell*? Is there a way to fix this by tweaking my config file?


htopuses cursor-motion character sequences to place everything exactly where it wants.terminterprets those characters as cursor motions and everything works;shelldoes not: it just inserts them into the buffer. IOW,shellprovides only a "dumb" terminal that does not know how to interpret ANSI terminal escape sequences.