Emacsを一つ立ち上げっぱなしにして、シェルからファイルを編集するときにいちいちEmacsを新しく立ち上げないで、その立ち上がっているEmacsで編集できるようにする設定をします。
.emacs.d/init.d
;;; emacsclient
(server-start)
(defun iconify-emacs-when-server-is-done ()
(unless server-clients (iconify-frame)))
;; 編集が終了したらEmacsをアイコン化する
(add-hook 'server-done-hook 'iconify-emacs-when-server-is-done)
;; C-x C-cに割り当てる
(global-set-key (kbd "C-x C-c") 'server-edit)
;; M-x exitでEmacsを終了できるようにする
(defalias 'exit 'save-buffers-kill-emacs)
再起動してEmacsを立ち上げます。シェルから下記を実行すると最初に立ち上げたEmacsで編集ができるようになります。
$ emacsclinet test.txt
ちょっとした設定ファイルをいじるときはemacsだと起動が遅かったのでviを使っていたのですが、これでemacsでもよくなりそうです。
参照
「Emacsテクニックバイブル」P91