Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An emacs minor mode to easily switch between shell buffers (like with alt+tab)
Emacs Lisp Makefile Cucumber
branch: master

Merge pull request #8 from miabrahams/master

Added an example configuration function
latest commit f2878f4680
@DamienCassou authored
Failed to load latest commit information.
features
script Add executable bit to pre-commit.sh
test Test coverage for rswitcher
.ackrc
.gitignore
.travis.yml
AUTHORS
CONTRIBUTING.md Modernize package structure using skeletor.el
COPYING
Cask
Makefile
README.md
requirements.txt
rswitcher.el
shell-switcher-pkg.el
shell-switcher.el

README.md

Emacs shell-switcher

Build Status Coverage Status

shell-switcher provides fast switching between shell buffers.

shell-switcher screencast A shell-switcher screencast

Installation

With Emacs' packaging system

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

Manually

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

(require 'shell-switcher)

Configuration

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. For example, if you wanted to use Powershell:

(defun make-powershell ()
  "Create a new `powershell'."
  (powershell (generate-new-buffer-name "*PowerShell*")))
(setq-default shell-switcher-new-shell-function 'make-powershell)

Usage

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-'")
            'shell-switcher-switch-buffer)
(define-key shell-switcher-mode-map (kbd "C-x 4 '")
            'shell-switcher-switch-buffer-other-window)
(define-key shell-switcher-mode-map (kbd "C-M-'")
            'shell-switcher-new-shell)

If you tend to create shells without using shell-switcher but still would like to easily switch between them, write the following (to be adapted if eshell is not your preferred shell):

(add-hook 'eshell-mode-hook 'shell-switcher-manually-register-shell)
Something went wrong with that request. Please try again.