All Projects → DamienCassou → shell-switcher

DamienCassou / shell-switcher

Licence: GPL-3.0 license
An emacs minor mode to easily switch between shell buffers (like with alt+tab)

Programming Languages

emacs lisp
2029 projects
Makefile
30231 projects
Gherkin
971 projects

Projects that are alternatives of or similar to shell-switcher

eshell-info-banner.el
Display some system information when launching Eshell
Stars: ✭ 28 (-30%)
Mutual labels:  eshell
esh-autosuggest
Fish-like autosuggestions in eshell.
Stars: ✭ 88 (+120%)
Mutual labels:  eshell
load-bash-alias
Convert bash aliases into eshell ones
Stars: ✭ 16 (-60%)
Mutual labels:  eshell
esh-help
This library adds some help features for Eshell
Stars: ✭ 19 (-52.5%)
Mutual labels:  eshell
eshell-up
Quickly go to a specific parent directory in eshell
Stars: ✭ 28 (-30%)
Mutual labels:  eshell

Emacs shell-switcher

Build 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)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].