Loading
MultiShell
Neighboring pages...
Organize interaction with multiple local and remote shell buffers in Emacs.
multishell was previously called pop-to-shell . It is available through the emacs package system or via my git repository, https://github.com/kenmanheimer/EmacsMultishell.git.
Here's a full description from the package entry:
;; Author: Ken Manheimer <ken.manheimer@gmail.com>
;; Version: 1.1.10
;; Created: 1999 -- first public availability
;; Keywords: processes
;; Package-Requires: ((cl-lib "0.5"))
;; URL: https://github.com/kenmanheimer/EmacsMultishell
;;
;;; Commentary:
;;
;; Easily use and navigate multiple shell buffers, including remote shells.
;; Fundamentally, multishell is the function `multishell-pop-to-shell' -
;; a la `pop-to-buffer' - plus a keybinding. Together, they enable you to:
;;
;; * Easily get to the input point from wherever you are in a shell buffer,
;; or to any of your shell buffers, from anywhere inside emacs.
;;
;; * Use universal arguments and name completion to launch a new or choose
;; among existing shell buffers, and change which is the current default.
;;
;; * Easily restart exited shells, or shells from emacs prior sessions.
;;
;; * Specify an initial path for the shell. By using Emacs tramp syntax you
;; can launch a sudo and/or remote shell.
;;
;; For example, specifying the following at the multishell buffer name
;; prompt will:
;;
;; * `#root/sudo:root@localhost:/etc` launch a shell in a buffer named
;; "*#root*" with a root shell starting in /etc.
;;
;; * `/ssh:example.net:` launch a shell buffer in your homedir on
;; example.net. The buffer will be named "*example.net*".
;;
;; * `#ex/ssh:example.net|sudo:root@example.net:/etc` launch a root
;; shell starting in /etc on example.net named "*#ex*".
;;
;; * `interior/ssh:gateway.corp.com|ssh:interior.corp.com:` via
;; gateway.corp.com launch a shell in your homedir on interior.corp.com.
;; The buffer will be named "*interior*". You could append a sudo hop,
;; and so on.
;;
;; * Thanks to tramp, file visits initiated in remote shell buffers will
;; seamlessly be on the hosts where the shells are running, in the auspices
;; of the account being used.
;;
;; * Manage your list of shells, current and past, as a collection.
;;
;; * Of course, emacs completion makes it easy to switch to an already
;; existing shell buffer, or one in your history roster, by name.
;;
;; See the `multishell-pop-to-shell' docstring for details.
;;
;; Customize-group `multishell' to select and activate a keybinding and set
;; various behaviors. Customize-group `savehist' to preserve buffer
;; names/paths across emacs restarts.
;;
;; Please use
;; [the multishell repository](https://github.com/kenmanheimer/EmacsMultishell)
;; issue tracker to report problems, suggestions, etc, and see that
;; repository for a bit more documentation.