This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/shell
Giorgio Leveroni 40487778e6 Add eshell goodies
I just noticed the new 'shell' layer and thought that it would be nice to include these additions to have a better eshell experience!
2015-07-07 22:51:50 -04:00
..
img new layer: shell 2015-05-20 22:40:25 -04:00
config.el Enhance shell-pop and term integration 2015-05-22 00:49:58 -04:00
packages.el Add eshell goodies 2015-07-07 22:51:50 -04:00
README.org Fix various issues with org markup 2015-06-11 21:31:42 -04:00

Shell contribution layer for Spacemacs

/TakeV/spacemacs/media/commit/40487778e697a680c762fccde5c7407cc2a68277/contrib/shell/img/shell.png

Description

This layer configures the various shells available in Emacs.

Install

Layer

To use this contribution add it to your ~/.spacemacs

  (setq-default dotspacemacs-configuration-layers '(shell))

Default shell

Emacs supports three types of shell:

  • the Emacs shell
  • the inferior shell
  • the terminal emulator
  • the ANSI terminal emulator

You can find a quick introductions to them here.

To define the default shell you can set the layer variable shell-default-shell to the following variables:

  • eshell
  • shell
  • term
  • ansi-term
  • multi-term
(setq-default dotspacemacs-configuration-layers
  '(shell :variables shell-default-shell 'eshell))

The default shell is quickly accessible via a the default shortcut key SPC '.

Default shell position and height

It is possible to choose where the shell should pop up by setting the variable shell-default-position to either top, bottom or full. It is not possible to show it on the side for now. Default value is bottom. It is also possible to set the default height in percents with the variable shell-default-height. Default value is 30.

  (setq-default dotspacemacs-configuration-layers
    '(shell :variables
            shell-default-position 'bottom
            shell-default-height 30))

Set shell for term and ansi-term

The default shell can be set by setting the variable shell-default-term-shell. Default value is /bin/bash.

  (setq-default dotspacemacs-configuration-layers
    '(shell :variables shell-default-term-shell "/bin/bash"))

Key bindings

Key Binding Description
SPC ' Open, close or go to the default shell
SPC a s e Open, close or go to an eshell
SPC a s i Open, close or go to a shell
SPC a s m Open, close or go to a multi-term
SPC a s t Open, close or go to a ansi-term
SPC a s T Open, close or go to a term
SPC m h browse history with helm (works in eshell and shell)
C-j next item in history
C-k previous item in history

Note: You can open multiple shells using a numerical prefix argument, for instance pressing 2 SPC ; will a second default shell, the number of shell is indicated on the mode-line.

Multi-term

Key Binding Description
SPC p $ t run multi-term shell in root