Windows のエクスプローラーからファイルを Cygwin の Emacs で開きたい時は、cyg-emacsclient が便利です。
emacsclient はファイルを既に起動中のEmacsで開くものです。 CygwinのEmacsを使う場合は、WindowsのパスとCygwinのパスが異なるため、そのままでは動きません。
そこでパスを変換してemacsclientに渡してくれるwrapper的なものが必要です。それがcyg-emacsclientです。
cyg-emacsclient のインストール
ソースはhttps://github.com/otsuka512/cyg-emacsclientからダウンロードします。
インストールは簡単です:
make make install
これで Cygwinの /binにインストールされます。
エクスプローラーの右クリックの「送る」で使えるように、cyg-emacsclientのショートカットをC:\Users\USER_NAME\AppData\Roaming\Microsoft\Windows\SendTo にコピーしておきます。これで、任意のファイルを右クリックメニューからEmacsに送ることが出来ます。
なお、cygwinのemacsclientのパスは/bin/emacsclientに決め打ちです。
自分でbuildした場合は/binにシンボリックリンクを作るか、本体を/binにコピーするなどが必要です。
Emacs側の設定
emacsclientを使うにはEmacs側でserverの設定をしておく必要があります。以下の設定を~/.emacs.d/init.elに書いておきます:
(require 'server) (unless (server-running-p) (server-start))
emacsclientからEmacs本体を自動起動するやり方もあるようですが、ぼくはやっていません。