summaryrefslogtreecommitdiff
path: root/plugins/emacs
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2018-10-09 14:46:47 -0400
committerTuowen Zhao <ztuowen@gmail.com>2018-10-09 14:46:47 -0400
commit075160b86c64045e661209ad7906559068b44104 (patch)
treea910a6eef6163d39859395bb0b416b2b184db9ac /plugins/emacs
parent5ece6ef2f07c58672a9c965dbbbb62a42386fb2d (diff)
parent3c9942c4884089b290ef750468b29419ca0de271 (diff)
downloadzsh-075160b86c64045e661209ad7906559068b44104.tar.gz
zsh-075160b86c64045e661209ad7906559068b44104.tar.bz2
zsh-075160b86c64045e661209ad7906559068b44104.zip
Merge branch 'master' of https://github.com/robbyrussell/oh-my-zsh
Diffstat (limited to 'plugins/emacs')
-rw-r--r--plugins/emacs/README.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/emacs/README.md b/plugins/emacs/README.md
new file mode 100644
index 000000000..c8e33b5ab
--- /dev/null
+++ b/plugins/emacs/README.md
@@ -0,0 +1,30 @@
+# Emacs plugin
+
+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 use it, add emacs to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... emacs)
+```
+
+## Aliases
+
+The plugin uses a custom launcher (which we'll call here `$EMACS_LAUNCHER`) that is just a wrapper around [`emacsclient`](https://www.emacswiki.org/emacs/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 |
+| 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 |