[English / Japanese]
Last Updated at $Date: 2007-11-03 03:53:24 $.
mode-info は,メジャーモードに対応して適切な関数・変数の説明を表示するように describe-function / describe-variable を拡張するプログラムです.
Emacs には,プログラムの作成を支援するためのコマンドが多数実装されています. 中でも,関数の説明文を参照するための describe-function と,変数の説明文を参照するための describe-variable は最も便利で,頻繁に利用します. 例えば,Emacs-Lisp のプログラムを編集中に C-h f goto-char RET とすると, 以下のように関数の説明文を閲覧することができます.
ただし,Emacs に実装されている describe-function / describe-variable は,Emacs-Lisp のみを対象としていて, C や Perl などの他の言語にそのまま利用することはできません.
mode-info は,各種のプログラミング言語について Info 形式で記述された reference manual を参照することによって, Emacs-Lisp 以外のプログラミング言語に対しても同等の環境を提供します. 例えば,Emacs-Lisp のプログラムを編集中に変数の説明文を検索した場合は Emacs Lisp Reference Manual の該当部分を表示し, C のプログラムを編集中にライブラリ関数の説明文を検索した場合は GNU C Library Reference Manual の該当部分を表示します.
また,CVS で最新の開発版を入手することができます.
% cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot login CVS password: # パスワードは設定されていません.単に Enter/Return キーを押してください. % cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co mode-info
ViewCVS でソースを閲覧することもできます.
現時点の mode-info は,以下の reference manual に対応しています.
新たな Info に対応するには,その Info から関数・変数の説明文を取り出すための簡単なモジュールを記述する必要があります. 不明な点があれば,tsuchiya@namazu.org までご連絡下さい.
事前に,変数や関数の説明が記述されている Info を Emacs から閲覧できるようにインストールしてください.
configure
を実行してください.
このコマンドは,本パッケージを構築するために必要な準備を行います. 閲覧したい Info が非標準的な場所にインストールされている場合は, その場所を以下のように指定する必要があるかも知れません../configure
./configure --with-info-addpath=~/info
make make install
以前に作成した索引を再利用したい場合は,この操作は省略できます.make index make install-index
~/.emacs
に以下の設定を追加してください.
カラフルな Info が好みの人は,以下の設定も追加してください.(require 'mi-config) (define-key global-map "\C-hf" 'mode-info-describe-function) (define-key global-map "\C-hv" 'mode-info-describe-variable) (define-key global-map "\M-." 'mode-info-find-tag)
(require 'mi-fontify)
configure
が実行できない環境にインストールする場合は,全てのプログラムを
byte-compile し,適当なディレクトリにプログラム類をコピーしてください.
その後,上述の設定を行ってから,M-x mode-info-make-all-indices RET
とすると,索引が作成されます.
通常の describe-function / describe-variable と同じです. C-h f 関数名 RET または C-h v 変数名 RET と入力すれば,指定された関数・変数に関する説明が表示されます.
以下の Emacsen で動作確認済みです.
マクロ構文の制限から,Emacs-19.30 以前では動作しないでしょう.
[Top] / [Emacs Lisp Tips] / [mode-info]