Emacs: Terminal vs shell? Emacs: Terminal vs shell? shell shell

Emacs: Terminal vs shell?


Running a term buffer is much closer to an actual terminal. Here are a few differences:

  • Shell mode provides very limited terminal emulation. Programs that take advantage of the terminal's full-screen capabilities (e.g. less, mtr, mutt, top) won't work properly. Terminal mode will generally handle these without any problem.
  • In shell mode, emacs provides tab completion. In terminal mode, the shell or command-line program provide it themselves.
  • Shell mode buffers the input and sends it to the process on newline. Terminal mode sends the characters to the running process immediately.
  • Shell mode works like a regular buffer with the usual emacs key bindings. Terminal mode doesn't intercept most control characters unless you explicitly put it into line mode.


The shell is like another emacs buffer, so the same keys work in it which work in other buffers. It is not true for the terminal.


You can launch the console programs that clear the screen like mc in terminal.