Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
d8ed8f66
Commit
d8ed8f66
authored
Mar 13, 2014
by
Robby Russell
Browse files
Merge pull request #650 from tristan0x/emacs
Emacs
parents
9272b0b0
a01b1fef
Changes
2
Show whitespace changes
Inline
Side-by-side
plugins/emacs/emacs.plugin.zsh
0 → 100644
View file @
d8ed8f66
# 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
EMACS_PLUGIN_LAUNCHER
=
"
$ZSH
/plugins/emacs/emacsclient.sh"
# set EDITOR if not already defined.
export
EDITOR
=
"
${
EDITOR
:-${
EMACS_PLUGIN_LAUNCHER
}}
"
alias
emacs
=
"
$EMACS_PLUGIN_LAUNCHER
--no-wait"
alias
e
=
emacs
# same than M-x eval but from outside Emacs.
alias
eeval
=
"
$EMACS_PLUGIN_LAUNCHER
--eval"
# create a new X frame
alias
eframe
=
'emacsclient --alternate-editor "" --create-frame'
# to code all night long
alias
emasc
=
emacs
alias
emcas
=
emacs
# Write to standard output the path to the file
# opened in the current buffer.
function
efile
{
local
cmd
=
"(buffer-file-name (window-buffer))"
"
$EMACS_PLUGIN_LAUNCHER
"
--eval
"
$cmd
"
|
tr
-d
\"
}
# Write to standard output the directory of the file
# opened in the the current buffer
function
ecd
{
local
cmd
=
"(let ((buf-name (buffer-file-name (window-buffer))))
(if buf-name (file-name-directory buf-name)))"
local dir
=
"
$(
$EMACS_PLUGIN_LAUNCHER
--eval
$cmd
|
tr
-d
\"
)
"
if
[
-n
"
$dir
"
]
;
then
echo
"
$dir
"
else
echo
"can not deduce current buffer filename."
>
/dev/stderr
return
1
fi
}
fi
## Local Variables:
## mode: sh
## End:
plugins/emacs/emacsclient.sh
0 → 100755
View file @
d8ed8f66
#!/bin/sh
# get list of available X windows.
x
=
`
emacsclient
--alternate-editor
''
--eval
'(x-display-list)'
2>/dev/null
`
if
[
-z
"
$x
"
]
;
then
# Create one if there is no X window yet.
emacsclient
--alternate-editor
""
--create-frame
"
$@
"
else
# prevent creating another X frame if there is at least one present.
emacsclient
--alternate-editor
""
"
$@
"
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment