Emacs
Windows
Git

WindowsでEmacsをGitのエディタにする

More than 3 years have passed since last update.


Gitのインストール

https://git-for-windows.github.io/ からダウンロード・インストールを行います。


Emacsのダウンロード・バイナリ配置

こちらはインストーラはなく、適当な場所に配置するだけです。Windowsで使用できるEmacsは何種類か(CygwinかMinGWか、32bitか64bitか)ありますが、64bitWindowsでよく使用される代表的なものとしては

の3つがありますが、個人的には一番下のNTEmacs64(MinGW 64bit)を推奨します。(gnupackはWindowsの関連付けと相性×、真ん中は32bitなのでパス)NTEmacsにはIMEパッチを当てたものの当てていないものの2つがありますが、当てたもので大丈夫です。このリンクを踏むとGitHubのページに飛びます。Emacsのバイナリ及び必要なファイルは1つのZIPアーカイブに入っています。通常は

https://github.com/chuntaro/NTEmacs64/blob/master/emacs-24.5-IME-patched.zip

の方をダウンロードします。動かない場合は

https://github.com/chuntaro/NTEmacs64/blob/master/emacs-24.5-IME-patched-generic-cpu.zip

の方も試してみてください。ZIPファイルをダウンロードしたら解凍し、適宜ディレクトリ名を変更(emacsなど)して好きなディレクトリに配置します。(Dドライブ直下など)


環境変数の設定

まず、 Win + X(Windowsボタン右クリック) → システム(Y) → システムの詳細設定 → 環境変数(N) で環境変数のウインドウを開きます。


環境変数HOMEの設定

NTEmacsは環境変数HOMEが設定されていないと、(ホームディレクトリ)\AppData\Roaming という込み入った場所をホームディレクトリとし、そこに.emacs.dという名前のディレクトリを作成し、設定ファイルをなどを置いてしまいます。しかし、Git Bashには予めこの環境変数が設定されているので、直接Emacsを起動することを前提に設定を行うとGit Bash越しに起動した時に初期設定で起動されてしまいます。ですので、初回起動時までに環境変数HOMEを設定します。

ユーザ環境変数側の「新規(N)」を押して、変数名に「HOME」、変数値に自分のホームディレクトリ(通常はC:\Users\(自分のユーザ名))、または「%USERPROFILE%」と入力した後、OKを押します。(後者を入力した場合、前者に変換される)

すると、Emacsは普通に起動してもGit Bashから起動してもホームディレクトリの.emacs.dディレクトリから設定を読み込んでくれます。


Emacsのパスを通す

Git BashはWindows側で通したパスにある実行ファイルも直接実行できます。ですので、ここでEmacsの実行ファイルがあるディレクトリ(最初は(解凍して出てきたディレクトリ)\bin)にパスを通します。

システム環境変数側の「Path」を選択し、「編集(I)」を押します。変数値のパスの後ろにEmacsの実行ファイルがあるパスを追記します。(前のパスとは「;」で区切る)

Unix系のパスは「:」で区切りますが、Windowsでは「;」で区切ることに注意してください。

追記したらOKを押して、環境変数・システムのプロパティダイアログもOKで閉じます。

これでパスが通りました。

これ以降コマンドプロンプト・PowershellからEmacsを別ウインドウで起動したいときは、

start emacs

と入力すると起動できます。(Unix系のemacs &に相当)

emacs -nwは文字コードの面から非推奨です。


GitのエディタをEmacsにする

予め

http://qiita.com/Tats_U_/items/cb7ee924541a58c66946

の方法でmagitを使用できるようにしておくと便利です。(設定は(ホームディレクトリ).emacs.d\init.elに追記)

その後、Git Bashを開き、

git config --global core.editor emacs

と入力します。これで設定は完了です。Git Bash内蔵のVimに戻すときは

git config --unset --global core.editor

と入力します。


注意事項


  • Git Bashからemacs -nwは使用できません。

  • Emacsは新しいウインドウで立ち上がります。VimみたいにGit Bash内で完結するということはありません。

  • Emacsの起動はVimと比べると結構時間がかかります。


おまけ

GVimをGitのエディタにしたい場合も同様にWindows版バイナリをダウンロードしてパスを通してGitでエディタ設定をすればOKです。コマンド版VimはGit側が優先されるので気にしなくてOKです。