2013-07-15 20 views
5

emacsの下でgdbを使用しています。デバッグセッション中、emacs/gdbがソースコードにジャンプすると、通常、別のフレーム(C-x 5 2)が開き、2番目のモニタにそのコードが表示されます。 問題は、新しいソースコードファイルを開く必要があるときです(例えば、プログラムが別のソースファイルで定義された関数に入ったり、スタックを歩いているなど)... emacsは自動的に対応するソースコードを新しいウィンドウですが、残念ながらgdbフレームにあります。emacsの下でgdbを使用する場合のバッファ制御

新しいフレームで新しいソースコードをプルアップして開いて、gdbフレームを完全に元通りにしておきたいと思います。私の質問は次のとおりです:

ファイルが新しいフレームに表示されるように新しいファイルを開くようにemacsを設定するにはどうすればよいですか?

私は意味があると思います。

答えて

0

簡単な答えではありませんが、display-buffer-alistの適切なエントリによって、display-bufferは常に新しいバッファの宛先として使用するフレームを使用します。

は24.1で、DOCは:

表示バッファ連想リストは `window.el」で定義された変数です。その値 はゼロです

この変数はファイルローカル変数として使用すると危険です。

ドキュメンテーション: `display-buffer 'の条件付き動作のアリス。この は、要素のリストであり、ここで:

条件は正規表現マッチングバッファ名、または二つの引数を取る関数 のいずれかである - バッファ名と `ディスプレイバッファのACTION引数(CONDITION ACTION。) ' - ブール値を返します。

アクションはコンスセル(FUNCTION。ALIST)です。ここで、関数は
関数または関数のリストです。そのような各関数は、 という2つの引数を受け入れる必要があります。表示するバッファと、同じフォームのリストです( ALIST)。詳細は、 `display-buffer 'を参照してください。

「display-buffer」は一致する 正規表現を見つけるか、条件によって指定された関数が0以外の値を返すまで、このalistをスキャンします。いずれの場合も、それは試行されるアクションのリストに関連するアクションを追加します。

この変数はカスタマイズできます。

この変数が導入されたか、デフォルト値が変更されました。 バージョン24.1のEmacsです。

関連する問題