24

私の日常の仕事では、Emacs に住んでいます。全く。また、コード内のものを見つけるために CScope にかなり依存するようになりました。

通常、分割 (Cx 3) に 2 つのウィンドウがあります: alt テキスト http://bitthicket.com/files/emacs-2split.JPG

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

ただし、次のように 3 つの分割ウィンドウを使用することをお勧めします (左側のウィンドウの [Cx 2]): alt テキスト http://bitthicket.com/files/emacs-3split.jpg

左下のウィンドウに CScope 検索バッファを含め、左上のウィンドウを CScope が更新する唯一のバッファにします。そうすれば、注目しているバッファを失うことなく、CScope の検索を確認してコードをナビゲートできます。

どうすればそれができるか知っている人はいますか?

4

2 に答える 2

35

これを .emacs ファイルに入れます:

;; 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)))

次に、それをいくつかのキーにバインドします - 私は Pause キーを使用します:

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

そして、それを使用して、ロックしたいウィンドウを「専用」にします。その場合、cscope はその結果ウィンドウからファイルを開くことができるのは、その他のウィンドウでのみです。魅力的です。私はまさにこの目的のためにそれを使用します.2番目のバッファ/ウィンドウでcscopeを使用している間、1つのソースファイルを常に画面に表示し、cscope結果を3番目に表示します。

于 2008-09-15T19:31:43.363 に答える
0

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

どちらも、私が望んでいることを行う方法を提供しているようには見えません。その方法はおそらく、パッケージ変数などを追加してELispを編集し*browse-buffer*、ユーザーが最初に行ったときにまだ初期化されていない場合はその変数を初期化するだけ[C-c C-s g]で、常に結果のコードが に表示され*browse-buffer*ます。その後、ユーザーは*browse-buffer*好きな場所に配置できます。

于 2008-09-04T19:27:02.220 に答える