Emacsは拡張性が高く便利な反面、起動時の読み込みに比較的時間がかかります。
そのため、Emacsは1度立ち上げたら終了させず、新しいファイルを開く際に既に起動しているEmacsで開くと高速に利用できて便利です。
LinuxなどでではDaemonを利用してそれができますが、WindowsではこのDaemonは利用できません。
ですので、今回はserver機能を利用して同じような環境を構築してみようと思います。
スタートアップに登録
初回からemacsclientwが使えるように、Windows起動時に自動でrunemacsを起動するようにスタートアップに登録します。
C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Windowsでスタートアップに登録するには、runemacs.exeのショートカットを作成してスタートアップフォルダに置くだけです。
設定の追加
M-x server-startでEmacsのサーバ機能を実行できます。
毎回コマンドを入力するのは大変なので、設定ファイルにサーバーを起動するように追記します。
;; emacsclientのためのsever設定 (when (eq window-system 'w32) (when (require 'server nil t) (server-start))) ))
今回はOSがWindowsの場合にserver-startを実行するように設定しています。
規定のプログラムの変更
最後にファイルを開く際の規定のプログラムをemacsclientwに変更します。
これでファイルなどを開いた際にemacsclientwが起動し、既に起動しているrunemacsでファイルが開けます。
ファイルを開くたびにEmacsを起動するよりも、断然こちらのほうが使い勝手がいいですね。
この記事を読んだ人はこんな記事も読んでいます。
【Emacs】WindowsでEmacsclientwを利用するための設定