NOTE: This plugin is forked from ohmyzsh, made plugin-manager agnostic and added few more features.
This plugin utilizes the Emacs daemon capability, allowing the user to quickly open frames, whether they are opened in a terminal via a ssh connection, or X frames opened on the same host. The plugin also provides some aliases for such operations.
- You don't have the cost of starting Emacs all the time anymore
- Opening a file is as fast as Emacs does not have anything else to do.
- You can share opened buffered across opened frames.
- Configuration changes made at runtime are applied to all frames.
NOTE: requires Emacs 24 and newer.
To Install:
# Zplugin
zplugin load flinner/zsh-emacs
# Antigen (not tested)
antigen bundle flinner/zsh-emacs
The plugin uses a custom launcher (which we'll call here $EMACS_LAUNCHER
) that is just a wrapper around emacsclient
.
Alias | Command | Description |
---|---|---|
emacs | $EMACS_LAUNCHER --no-wait |
Opens a temporary emacsclient frame |
e | emacs |
Same as emacs alias |
te | $EMACS_LAUNCHER -nw |
Open terminal emacsclient |
eeval | $EMACS_LAUNCHER --eval |
Same as M-x eval but from outside Emacs |
magit | $EMACS_LAUNCHER --eval (magit) |
Open emacsclient frame with magit, accepts directory argument |
tmagit | $EMACS_LAUNCHER -nw --eval (magit) |
same as magit but opens in terminal |
mframe | emacsclient --alternate-editor "" --create-frame --eval (magit) --no-wait |
Create new X frame with magit, accepts directory argument |
eframe | emacsclient --alternate-editor "" --create-frame |
Create new X frame |
efile | - | Print the path to the file open in the current buffer |
ecd | - | Print the directory of the file open in the the current buffer |