Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
54 lines (36 sloc) 1.52 KB

Emacs shell-switcher

shell-switcher provides fast switching between shell buffers.

See the screencast.


With Emacs' packaging system

Make sure you have marmalade repository ready to use and type M-x package-install shell-switcher.


Download shell-switcher from github and add it to your load-path. Then, add the following to your init file:

(require 'shell-switcher)


To activate shell-switcher, you have to set the variable shell-switcher-mode to t, either through customize-variable or with:

(setq shell-switcher-mode t)

You have to customize shell-switcher-new-shell-function if eshell is not your shell of choice.


The standard key bindings are:

  • C-' opens the first 2 buffers (one after the other) and switch between them
  • Repeating ' continues switching after an initial C-'
  • C-M-' forces the creation of a new shell
  • C-x 4 ' is similar to C-' but within another window

You can change them by adapting and adding the following to your configuration file:

(define-key shell-switcher-mode-map (kbd "C-'")
(define-key shell-switcher-mode-map (kbd "C-x 4 '")
(define-key shell-switcher-mode-map (kbd "C-M-'")