This module provides additional features for the built-in Emacs Shell
The Emacs Shell or eshell
is a shell-like command interpreter implemented in
Emacs Lisp. It is an alternative to traditional shells such as bash
, zsh
,
fish
, etc. that is built into Emacs and entirely cross-platform.
This module has no dedicated maintainers.
This module provides no flags, but does gain auto-completion if :completion
company
is enabled.
- eshell-up
- eshell-z
- esh-help
- shrink-path
- eshell-did-you-mean
:completion company
- Even with
fish-completion-fallback-on-bash-p
non-nil, fish must be installed for bash completion to work. Workaround inconfig.el
. eshell-did-you-mean
does not work on first invocation, so we manually invoke it once.
=fish= shell for completions, falling back to =bash= shell if fish
is not
found. If neither shell is found, completions may not be available.
- Command completion with Company
fish
-style prompt with Git integration- =z=-like directory jumping
- Command-not-found recommendations
By default, eshell
sets the $TERM
variable to "xterm-256color"
, which helps with
rendering various colours. As eshell is not a terminal emulator, these will not
always work 100%. Modifying eshell-term-name
to your liking may help.