git clone 'git://github.com/DamienCassou/shell-switcher.git'
shell-switcher provides fast switching between shell buffers.
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
add the following to your init file:
To activate shell-switcher, you have to set the variable
shell-switcher-mode to t, either through
(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)
The standard key bindings are:
C-'opens the first 2 buffers (one after the other) and switch between them
'continues switching after an initial
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)