mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # 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" emacsclient 24 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
 | |
|     # open terminal emacsclient
 | |
|     alias te="$EMACS_PLUGIN_LAUNCHER -nw"
 | |
| 
 | |
|     # 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'
 | |
| 
 | |
| 
 | |
|     # 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:
 |