From 75081c63ee8b204a239572a232d50455556882f4 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 21 Mar 2016 01:55:24 -0400 Subject: Go ahead and add the generated files. So I know about regressions. --- public/emacs-shells.html | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 public/emacs-shells.html (limited to 'public/emacs-shells.html') diff --git a/public/emacs-shells.html b/public/emacs-shells.html new file mode 100644 index 0000000..09d763c --- /dev/null +++ b/public/emacs-shells.html @@ -0,0 +1,45 @@ + + + + + A summary of Emacs' bundled shell and terminal modes — Luke Shumaker + + + +
Luke Shumaker » blog » emacs-shells
+
+

A summary of Emacs' bundled shell and terminal modes

+

This is based on a post on reddit, published on 2013-04-09.

+

Emacs comes bundled with a few different shell and terminal modes. It can be hard to keep them straight. What's the difference between M-x term and M-x ansi-term?

+

Here's a good breakdown of the different bundled shells and terminals for Emacs, from dumbest to most Emacs-y.

+

term-mode

+

Your VT100-esque terminal emulator; it does what most terminal programs do. Ncurses-things work OK, but dumping large amounts of text can be slow. By default it asks you which shell to run, defaulting to the environmental variable $SHELL (/bin/bash for me). There are two modes of operation:

+ +

This mode is activated with

+
; Creates or switches to an existing "*terminal*" buffer.
+; The default 'term-escape-char' is "C-c"
+M-x term
+

or

+
; Creates a new "*ansi-term*" or "*ansi-term*<n>" buffer.
+; The default 'term-escape-char' is "C-c" and "C-x"
+M-x ansi-term
+

shell-mode

+

The name is a misnomer; shell-mode is a terminal emulator, not a shell; it's called that because it is used for running a shell (bash, zsh, …). The idea of this mode is to use an external shell, but make it Emacs-y. History is not handled by the shell, but by Emacs; M-p and M-n access the history, while arrows/C-p/C-n move the point (which is is consistent with other Emacs REPL-type interfaces). It ignores VT100-type terminal colors, and colorizes things itself (it inspects words to see if they are directories, in the case of ls). This has the benefit that it does syntax highlighting on the currently being typed command. Ncurses programs will of course not work. This mode is activated with:

+
M-x shell
+

eshell-mode

+

This is a shell+terminal, entirely written in Emacs lisp. (Interestingly, it doesn't set $SHELL, so that will be whatever it was when you launched Emacs). This won't even be running zsh or bash, it will be running "esh", part of Emacs.

+ +
+ + + -- cgit v1.2.3