Help us understand the problem. What is going on with this article?

magit でコミットするときに新しいウィンドウを立ち上げないようにする

More than 1 year has passed since last update.

(2019-03-07 追記)

.emacs.d 大掃除をやってて気づいたのですが、このハックは現代の Emacs + magit では不要になっていました。

GNU Emacs 26.1 (build 1, x86_64-apple-darwin18.0.0, Carbon Version 158 AppKit 1671) of 2018-11-18
magit-20190306.413

(以下 2013-10-11 時点での投稿)

2ヶ月ほど前に magit のコミット周りの実装が大きく変わりました。それまではコミットメッセージの入力をミニバッファで行っていましたが、この変更に伴い git-commit-mode というメジャーモードを用いて入力、つまり一つのバッファを占有して行うようになりました。

本来この git-commit-mode は 同じ ウィンドウ内の別バッファに開くことが意図されており、Linux 版ではこの通りの挙動を示します。
しかし、Mac 版 (Cocoa) Emacs では 新しく ウィンドウを開いて(もう一つ Emacs を起動して)そこに git-commit-mode を開くという挙動を示し、大変面倒くさい感じになっていました。

2ヶ月間この挙動に悩まされていましたが、この度改善するための設定を発見したため、ここに共有します。

Mac でも同一ウィンドウ内でコミットアクションを完結させる

/Application に Emacs.app を置いた場合は

init.el
(set-variable 'magit-emacsclient-executable "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient")

Homebrew で Emacs をインストールした場合は

init.el
(set-variable 'magit-emacsclient-executable "/usr/local/Cellar/emacs/24.3/bin/emacsclient")

を init.el などに追記しましょう。

これで次回から git-commit-mode は 同じ ウィンドウ内の別バッファに立ち上がるようになります。c を2回押したあと、ウィンドウを切り替えてメッセージ入れて C-c C-c したら手動でウィンドウを閉じる・・・といった煩わしさから開放されます。

magit-commit.png

Emacs + magit で、さらなる作業効率の向上を!

ついでに僕の .emacs.d は dtan4/dot.emacs.d に置いてあります。

参考

上記挙動に関する Issue #862 に投稿された aisipos 氏の投稿

dtan4
SRE @ Microservices Platform Team
http://dtan4.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away