https://github.com/DamienCassou/shell-switcher.git
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 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. 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-'
C-M-'
forces the creation of a new shellC-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)