分割ウィンドウが要求された場合にのみ発生する新しいワークフローを試したいです。それ以外の場合、Emacsはウィンドウを変更するだけです。私はこのコマンドを私の中に入れてみましたinit.el:
(setq pop-up-windows nil)
そして、それはほとんど機能しているようです:ヘルプコマンドを使用した場合、コンパイルを起動したり、を使用M-x occurしたりします。Emacsはウィンドウを正しく変更します。ただし、*compilation*バッファー内RETで、行を押すと、Emacsはフレームを2つのウィンドウに分割します。Emacsが適切に切り替わることを確認するために必要な他の構成を誰かが知っていますか?
window.elを含むがこれに限定されない、内のいくつかの関数を再定義する必要がありdisplay-bufferます。ただし、それを行うと、ほとんどのライブラリ作成者は、表示するウィンドウと専用のウィンドウに関して多くの計画をたどり、以前のウィンドウ構成を復元するため、将来の問題の世界に陥ります。私の意見では、個人的な好みに基づいて特に変更が必要なものだけに触れた方がよいでしょう。つまり、マチェーテ(またはトールのウォーハンマー)ではなく、メスやレーザーナイフを使用します。