ハトネコエ Web がくしゅうちょう

プログラミングやサーバー・Web制作、チームマネジメントなど得た技術のまとめ

git commit の際、 emacs が init.el を読み込まないでデフォルトで立ち上がる

Emacs がデフォルト状態で立ち上がってしまい日本語入力できない

CygWin は gnupack で入れてたから、gnupack 内の Emacs が立ち上がるので全然問題なかったのですが、
Git BashコマンドプロンプトWindowsPowerShellなどでgit commit をおこなうと、
デフォルト状態のEmacsが立ち上がってしまう。長い間こまっていた。

デフォルトだと文字コードUTF-8 じゃないため
日本語を入力することができない。
まあ、コミットメッセージに英語を使ってればいいんだけど、
たまには日本語も使いたいので悩んでいた。(日本語の方が文章短く済むこともあるし)

c:/Users/UserName/*1 に置いてある
.gitconfig には

[core]
	editor = "emacs"

としっかり記述してあるし、
Windows環境変数で(Git Bashの場合は.bashrcにて)
PATHも c:/emacs/bin/ に通してある。

しかも、c:/emacs/bin/emacs.exe から起動するときや、
emacs とコマンドを打ち込むときには、
init.el をしっかり読み込んだ表示がされる……

はて、どうしたものか……

と悩んでいたし、あきらめていた。

先ほど、解決法を見つけた。

解決法

驚きだったのだが、
c:/emacs/bin/emacs.exe を立ち上げたときに読み込む init.el と、
git commit 時に Emacs が読み込む init.el の場所が違う!!

なぞすぎる・・・。

emacs.exe 立ち上げ時に読み込むのは、
C:\Users\UserName\AppData\Roaming\.emacs.d
このディレクトリにある init.el などなどの設定ファイルだ。

ところが、git commit時はここではない。

C:\Users\UserName\.emacs.d
このディレクトリを読み込むのだ。
そうとは知らないでいたから、このフォルダには何も入れておらず、
そのためEmacsがデフォルトの状態で立ち上がってしまっていたのだ。

ここに設定ファイルをコピーしてきたら、
ちゃんとお気に入りのテーマやキーバインドなどを読み込んだ、使い慣れた設定で立ち上がってくれた。

解決してよかった。
たしかに .gitconfig や .ssh フォルダーなどは、
同じ C:\Users\UserName ディレクトリにあるのだから、そこを読み込むのもうなずける。

・・・うなずけるか?

とにかく、設定出来てよかった!
こうなればもう、WindowsPowerShellで全てのことができそうだな!
nekonenene.hatenablog.com

*1:UserName と書いた部分は、パソコンによって異なる。自分の付けたユーザーネームを確認されたし