私が作業する通常の方法は、作業中のコード用に小さなeshellバッファーと大きなバッファーを用意することです。私はeshellバッファーを使用して、コンパイルと簡単なテストを行います。
git commitを実行したい場合、この方法で実行すると、常に新しいEmacsウィンドウが開きます。
現在のEmacsセッションで新しいバッファーを開くだけのコミットを取得するにはどうすればよいですか?
環境変数 $EDITOR が emacs として宣言されていると思います。Emacs をデーモンとして実行していないため、Emacs の新しいインスタンスが開始されます。これを解決するには、次の 2 つのオプションがあります。
Emacsclientを使用するように $EDITOR を構成します
Eggまたはmagit、Emacs の Git フロントエンドを使用します。
エッグは近道が見られるので少し手がかかりますが、マジットはもっと活発に開発されています。
すべてのコンパイル メッセージと git/magit メッセージが、メッセージをトリガーした同じフレームの同じウィンドウに表示されるのが好きです。
vars same-window-regexps と same-window-buffer-names をチェックしてください。それがあなたが探しているものだと思います。
私が使用する設定は次のとおりです。
(setq same-window-regexps (quote ("\*vc\-.+\*" "\*magit.+\*" " grep " "\*compilation\*\(\|<[0-9]+ >\)" "\*ヘルプ\*\(\|<[0-9]+>\)" "\*シェルコマンド出力\*\(\|<[0-9]+>\)" "\ *dictem.*")))
お役に立てば幸いです。
デイモン
Emacsを使用し、gitを使用する場合はバナナですが、magitは使用しないでください。私が言うバナナ!