2008-09-04 9 views
21

私の仕事では、私はEmacsに住んでいます。全く。また、コード内のものを見つけるのを助けるためにCScopeにかなり依存しています。ウィンドウへのEmacsバッファのピン割り当て(cscope用)

通常、私はスプリット(C-X 3)で2つの窓を持っている: alt text http://bitthicket.com/files/emacs-2split.JPG

そして私は、コードバッファとcscopeの検索バッファの左ウィンドウの右側のウィンドウを使用します。 CScope検索を実行して結果を選択すると、右側のウィンドウが自動的に更新され、結果で参照されるバッファが表示されます。これは、私が勉強していた他のバッファーで私の場所を失う原因となることを除いて、すべてうまくいいです。時にはこれは大したことではありません。なぜなら[C-s u]は私がどこにいたかに戻ってくれるからです。

良いだろう何、しかし、このような3つの分割ウィンドウ(左側のウィンドウで[Cxの2])することです。 alt text http://bitthicket.com/files/emacs-3split.jpg

を左下のウィンドウを持っているcscopeの検索バッファが含まれており、左上のウィンドウは、CScopeが更新する唯一のバッファです。そうすれば、私はCScopeの検索を見ることができ、私が集中しているバッファを失うことなくコードをナビゲートすることができます。

誰でも知っているのですか?

答えて

33

ロックされたいcscopeは他のウィンドウで結果ウィンドウからファイルを開くことができます。魅力を発揮します。私は具体的にこの目的のために特に使用します。つまり、1つのソースファイルを常に画面に表示し、2番目のバッファ/ウィンドウでcscopeを使用し、cscope結果を3番目に表示します。

+0

awesome!私はそれができることが分かっていた...私は通常、あまりにもあまりにも時間をelispのAPIを掘るために押されています。ありがとう! –

+0

素晴らしい!私は同じ状況に遭遇するが、それはvcのアクティビティで起こる、それは私の貴重なウィンドウを使用します。ありがとう。 – swdev

0

まあ、私は評判の娼婦ではなく、自分自身で答えを見つけることに決めました。私は、cscope.elをEmacs wikiとRHELのcscope RPMパッケージに付属しているxcscope.elと同様に調べました。

私が望んでいることをする方法を提供していないようです。方法はおそらく*browse-buffer*または何かのようなパッケージ変数を追加し、ユーザーが[C-c C-s g]またはそれ以外のものを初めて実行したときに初期化されていない場合はその変数を初期化し、常に*browse-buffer*に表示される結果コードを持つことによってELispを編集することです。次に、ユーザは希望する場所に*browse-buffer*を置くことができます。ウィンドウあなたを「捧げ」するためにそれを使用し、その後

(global-set-key [pause] 'toggle-window-dedicated) 

そして: - 私は、Pauseキーを使用し

;; Toggle window dedication 

(defun toggle-window-dedicated() 

"Toggle whether the current active window is dedicated or not" 

(interactive) 

(message 

(if (let (window (get-buffer-window (current-buffer))) 

     (set-window-dedicated-p window 

     (not (window-dedicated-p window)))) 

    "Window '%s' is dedicated" 

    "Window '%s' is normal") 

(current-buffer))) 

その後、いくつかのキーにバインド:あなたの.emacsでファイルをこれを入れて

関連する問題