Emacs Code Browser の使い方

[F2] で起動。
エディタに何か表示されるが、とりあえず無視。C-c k でkillする。(本当は何か設定した方が良いのだろう。) emacs の画面左に4つの枠(インタラクタ:Interactor)が現れる。上から、ディレクトリ枠・ソースファイル枠・メソッド枠・履歴枠。

初期設定

    • 最初に作業フォルダを設定する。
    • M-x customize-option RET ecb-source-path RET で設定画面へ。
    • Ecb Source Path: の Path:に作業フォルダへのパスを、Alias:にその作業フォルダの名前を記す。
    • 作業フォルダを追加したい時は、'INS'ボタンを選択する。
    • 設定ができたら、'Save for Future Session'ボタンを選択して設定を保存する。
    • 保存すると、ディレクトリ枠に作業ディレクトリが現れる。
    • 設定は、Emacs の初期化ファイル(.emacs.elなど)に書き込まれる。

基本操作

  C-c . g 1	Edit-window 1 へフォーカスする
  C-c . g 2	Edit-window 2 へフォ−カスする(エディタを分割している場合)
  C-c . g d	ディレクトリ枠へフォーカスする
  C-c . g s	ソースファイル枠へフォーカスする
  C-c . g m	メソッド枠へフォーカスする
  C-c . g h	履歴枠へフォーカスする
  C-c . n	進む(下で解説)
  C-c . p	戻る(下で解説)

進む・戻る

ECB はディレクトリ枠・履歴枠でファイルを選択した時、及び、メソッド枠でメソッドを選択した時に、開くファイルと表示位置を記憶する。これをブラウザの「進む・戻る」の様に行き来する事ができる。これを実現するのが、上に記した「進む」と「戻る」の機能だ。

各枠での操作

    • RET で選択。
    • M-m でポップアップメニュー表示
    • C-u M-m で tmmメカニズム形式のメニューを表示(GNU Emacs のみ。XEmacsでは動作しないらしい)
    • ディレクトリ枠では、TABでフォルダを展開。

ecb のinfoを表示する

M-x ecb-show-help	info の表示

info が見れないエラー発生

cedet をインストールしたら、M-x info で以下のエラーが発生して info が見れなくなってしまった。

    • Recursive `require' for feature `sb-info'

以下に解決策があった。
http://www.gside.org/comments/start/2006-10-04/1

/usr/share/emacs/site-lisp/cedet/speedbar/sb-info.el の最後の2行('provide....'の行と'eval-after-load....')を入れ換る。

(provide 'sb-info)
(eval-after-load "info" '(require 'sb-info))

に従ってファイルを修正したら直った。

追記 (2007/10/25)

Emacs 標準機能の Bookmark jump を使い始めたらECBを全く使わなくなった。

C-x r b		bookmark-jump

ECB見た目わかりやすそうに見えるけど、脳内で行きたいディレクトリや表示したいファイルに変換できるbookmark-jump の方が慣れると断然早い。
キーストロークがちょっと押しずらいんで、C-c C-f にこの機能を割り当てた。.emacs に以下の一行を追加すると C-c C-f で使えるようになる。

(global-set-key "\C-c\C-f" 'bookmark-jump)