diff options
author | Tristan Carel <tristan.carel@gmail.com> | 2011-04-14 07:17:10 +0200 |
---|---|---|
committer | Tristan Carel <tristan.carel@gmail.com> | 2011-04-14 07:17:10 +0200 |
commit | a183bcbc6d8d61bd9c1077b45d1c5b3239e96a71 (patch) | |
tree | 07648e33056630569ce6a3761097bcbd6d1527ad | |
parent | 5d90f58b37fd67184c4aed3d81a1d3703f8fe832 (diff) | |
download | zsh-a183bcbc6d8d61bd9c1077b45d1c5b3239e96a71.tar.gz zsh-a183bcbc6d8d61bd9c1077b45d1c5b3239e96a71.tar.bz2 zsh-a183bcbc6d8d61bd9c1077b45d1c5b3239e96a71.zip |
More comments
-rw-r--r-- | plugins/emacs/emacs.plugin.zsh | 25 | ||||
-rwxr-xr-x | plugins/emacs/emacsclient.sh | 1 |
2 files changed, 23 insertions, 3 deletions
diff --git a/plugins/emacs/emacs.plugin.zsh b/plugins/emacs/emacs.plugin.zsh index bca79e70e..62d9fbccc 100644 --- a/plugins/emacs/emacs.plugin.zsh +++ b/plugins/emacs/emacs.plugin.zsh @@ -1,11 +1,30 @@ -# Use daemon capabilities of emacs 23 +# Emacs 23 daemon capability is a killing feature. +# One emacs process handles all your frames whether +# you use a frame opened in a terminal via a ssh connection or X frames +# opened on the same host. + +# Benefits are multiple +# - 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. + + if "$ZSH/tools/require_tool.sh" emacs 23 2>/dev/null ; then export EDITOR="$ZSH/plugins/emacs/emacsclient.sh" alias emacs="$EDITOR --no-wait" alias e=emacs + # same than M-x eval but from outside Emacs. + alias eeval="emacs --eval" + # create a new X frame + alias eframe='emacsclient --alternate-editor "" --create-frame' + + # to code all night long alias emasc=emacs alias emcas=emacs - # create a new X frame - alias emacs_frame='emacsclient --alternate-editor "" --create-frame' fi + +## Local Variables: +## mode: sh +## End: diff --git a/plugins/emacs/emacsclient.sh b/plugins/emacs/emacsclient.sh index 3475926a6..b098fd24a 100755 --- a/plugins/emacs/emacsclient.sh +++ b/plugins/emacs/emacsclient.sh @@ -6,5 +6,6 @@ x=`emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null` if [ -z "$x" ] ;then emacsclient --alternate-editor "" --create-frame $@ else + # prevent creating another X frame if there is at least one present. emacsclient --alternate-editor "" $@ fi |