From WikEmacs
Jump to navigation Jump to search

Shell is a command-line interpreter that provides text user interface for an Operating System.

Within Emacs you can interact with various shells and other command-line/text-mode programs running as a sub-process within an Emacs terminal emulator:

eshell is a shell (not a terminal emulator, nor a process hosted in one) written in pure Emacs Lisp . It is very powerful, flexible and customizable, but poorly documented at time of writing.

Emacs itself is fully functional either in a terminal or a windowing system. Some keystrokes available under window systems may not work in a terminal and vice versa.

User can use shell inside Emacs, with shell mode, eshell or term.

shell mode

in this mode, Emacs run an inferior shell, with I/O through buffer (default to *shell*). The shell buffer is a normal buffer, so you can edit and move around as usual, plus you have special keys to interact with the shell, like [M-p] to call the previous history command or [C-c r] to go to the beginning of the last output (see all keys in the menu).

See also: shell-here to open up a shell in the current directory; shell-pop to pop up and pop out a shell buffer window easily (both installable via ELPA).


in this mode, Emacs emulate a shell. It is writen by Emacs Lisp.


in this mode, Emacs emulate a terminal, then Emacs invoke a shell that you choose, then link to the terminal.

Pages in category "Shell"

The following 2 pages are in this category, out of 2 total.