Emacs には info-lookup-symbol というコマンドが用意されていて、これを使うと、カーソル下の関数の解説を info で読むことができる。例えば、C のソース・ファイルを開いて、関数 strtod
の上で M-x info-lookup-symbol してみる。すると、libc.info の「Parsing of Floats」というノードが開かれる。
info-lookup-symbol を使うには、まず、その言語の info が存在すること。そしてメジャー・モードと info の対応表が必要になる。Gauche という Scheme 処理系をインストールすると、プログラミング言語 Scheme の日本語 info マニュアルが手に入る。そこで、その Gauche info を Scheme モードから使う設定を紹介しませう。
なお、コマンド info-lookup-symbol は、Emacs-21 系では C-h TAB に、Emacs 22.* では C-h S にキーバインドされている。
Gauche info のインストール
次のコマンドを実行して、Gauche info がインストールされているかどうかを確かめやう。
- C-h i m Gauche (ja) RET
これで、Gauche のマニュアルが開いたら、この節で読むことは何もない。次の節へお進みあれ。
Gauche のマニュアルが開かなかった? なら、root になって /usr/local/info/dir を開きませう。そして、ファイルの後ろの方に次の一行を追加する。保存するのを忘れないように。
* Gauche (ja): (gauche-refj.info). An R5RS Scheme implementation.
Emacs を再起動して、もう一度上のコマンドを実行しませう。Gauche info は読める? 読めれば OK。読めないやうなら、それは貴方のシステムに Gauche が入っていない可能性が高い。次の記事を読んで、Gauche をインストールしませう。
インストール後に /usr/local/info/dir の編集をして、Gauche info を読めるやうにする。
Scheme モードで Gauche info を開く設定
Emacs に、Scheme モードから Gauche info を開くことを教えてやらなくてはならない。詳しい解説が下記リンク先にある。
ただ、上記ページの設定は少々マニアック。ぼくは .emacs に次のコードを追加している。
(eval-after-load "info-look" '(progn (info-lookup-add-help :topic 'symbol :mode 'scheme-mode :regexp "[^()`',\"\t\n]+" :ignore-case t :doc-spec '(("(gauche-refj.info)Index - 手続きと構文索引" nil "^ -+ [^:]+: *" "[\n ]") ("(gauche-refj.info)Index - モジュール索引" nil "^ -+ [^:]+: *" "[\n ]") ("(gauche-refj.info)Index - クラス索引" nil "^ -+ [^:]+: *" "[\n ]") ("(gauche-refj.info)Index - 変数索引" nil "^ -+ [^:]+: *" "[\n ]")) :parse-rule "[^()`',\" \t\n]+" :other-modes nil) (info-lookup-add-help :mode 'inferior-scheme-mode :other-modes '(scheme-mode)) ))
これで、Scheme の分からない関数があれば、すぐに Gauche の info をひける。Scheme 使いは、是非お試しあれ。便利。
rubyのinfoファイル復活しておくれよぉぉぉ
ReplyDelete