]> code.delx.au - gnu-emacs-elpa/blob - packages/multishell/README.md
multishell - merge 1.0.8.
[gnu-emacs-elpa] / packages / multishell / README.md
1 multishell.el
2 =============
3
4 Facilitate use of multiple local and remote Emacs shell buffers.
5
6 Multishell is available via Emacs package manager, in ELPA. Install "multishell" from the `M-x package-list-packages` listing.
7
8 I use the emacs shell a *lot*, including separate shells for separate
9 project, and more shells for access to remote systems (which I do a lot, as
10 a systems administrator). On top of emacs' powerful shell and tramp
11 facilities, use a `multishell` (customization-activated) key binding to:
12
13 * Get to the input point from wherever you are in a shell buffer,
14 ... or to any of your shell buffers, from anywhere inside emacs.
15
16 * Use universal arguments to launch and choose among alternate shell buffers,
17 ... and change which is the current default.
18
19 * Easily restart disconnected shells, or shells from prior sessions
20 ... the latter from Emacs builtin savehist minibuf history persistence
21
22 * Append a path to a new shell name to launch a shell in that directory,
23 ... and use a path with Emacs tramp syntax to launch a remote shell -
24 for example:
25
26 * `#root/sudo:root@localhost:/etc` for a buffer named "#root" with a
27 root shell starting in /etc.
28
29 * `/ssh:example.net:/` for a shell buffer in / on example.net.
30 The buffer will be named "*example.net*".
31
32 * `#ex/ssh:example.net|sudo:root@example.net:/etc` for a root shell
33 starting in /etc on example.net named "*#ex*".
34
35 * 'interior/ssh:gateway.corp.com|ssh:interior.corp.com:' to go via
36 gateway.corp.com to your homedir on interior.corp.com. The buffer
37 will be named "*interior*". You could append a sudo hop, and so on.
38
39 * Thanks to tramp, file visits from the shell will seamlessly be in
40 the auspices of the target account, and relative to the current
41 directory, on the host where the shell is running.
42
43 See the `multishell-pop-to-shell` docstring (in
44 [multishell.el](multishell.el)) for details, and
45 [getting-to-a-shell.md](getting-to-a-shell.md) for the nitty-gritty
46 decision tree that determines where different hits of the keybinding go.
47
48 Customize-group `multishell' to select and activate a keybinding and set
49 various behaviors. Customize-group `savehist' to preserve buffer
50 names/paths across emacs restarts.
51
52 Please use
53 [the multishell repository](https://github.com/kenmanheimer/EmacsMultishell)
54 issue tracker to report problems, suggestions, etc.
55
56 See the [multishell.el](multishell.el) file commentary for a change log and
57 Todo list.