2009年1月13日火曜日

Emacs Lisp で関数と変数のドキュメントを表示する

1. 関数や変数の意味を知りたい

Emacs の初期設定ファイル (.emacs) に、以下の記述があったとする。

(add-to-list 'load-path "~/hoge/")

add-to-list や load-path の意味を知りたい。

 

2. 関数のヘルプを表示する

Emac Lisp において、関数の役割がわからないとき、

describe-function

コマンドにより、その場で問い合わせることができる。

例えば、関数 add-to-list のヘルプを表示したいときは、その関数の上にポイントを移動して、

  • Ctrl + h f
とキーを入力する。その結果、エコー領域に、次のように表示されるので、RET を押す。
Describe function (default add-to-list): 

add-to-list 関数のヘルプは、以下のように表示された。

(add-to-list list-var element &optional append compare-fn)
Add element to the value of list-var if it isn't there yet. …

コマンドにバインドされたキーの覚え方は、

  1. ヘルプ h
  2. 関数(function) f

 

3. 変数のヘルプを表示する

ヘルプには、add-to-list 関数の第1引数はリストだと書かれている。

初期設定ファイル (.emacs) の適当な場所で

load-path

と書き、行末で以下のキーを入力。

  • C-c C-e

これにより、エコー領域に emacs lisp のライブラリである、ディレクトリ一覧が表示される。ただし、この場合、load-path の接頭辞にある、アポストロフィをとって評価することに注意。

Emacs Lisp プログラミング: リスト処理 によると、

リストの直前に付けた1つのアポストロフィ'クオート(quote)と呼ぶ。リストの直前にこれを付けると、 そのリストに関しては何もせずに字面どおりに扱うことをLispに指示する。 リストの直前にクオートがない場合には、リストの先頭要素を特別扱いし、コンピュータが従うべきコマンドとなる(Lispでは、これらのコマンドを関数(functions)と呼ぶ)。

ソースコード上で、変数のヘルプを見たいときは、

describe-variable

をコマンドを利用する。

変数の上にポイントを移動して、

  • C-h v

を入力する。これにより、エコー領域に以下のように表示されたら、RET を押す。

Describe variable (default load-path): 

コマンドにバインドされたキーの覚え方は、

  1. ヘルプ h
  2. 変数(variable) v

 

4. キー入力にバインドされたコマンドを表示

関数や変数のヘルプを表示させるためのキー入力に対応したコマンドを知るには、

describe-key-briefly

コマンドを利用する。このコマンドは、以下のキー入力にバインドされている。

  • C-h c

覚え方は、

  1. ヘルプ h
  2. コマンド (command) c

 

4. ヘルプの表示させ方を忘れた場合に備えて

コマンドを忘れてしまった場合に備えて、

describe

だけを覚えておく良い。

describeの意味 - 英和辞書 - goo辞書

1III[名]([副])/wh-節/wh- to do](人に)…を(文字・言葉で)述べる, 記述する, 表現する((to ...)). ⇒DEPICT[類語]

describe an event
事件を描写する

describe ... to a person [=describe to a person ...]
人に…を説明する

Describe to me how the accident happened.
その事故のてんまつを私に話してください(▼×Describe me how ... とはいわない).

M-x describe を入力したら、Tab キーを押すと、コマンドの候補が表示される。

describe という単語すら、忘れることがあるので、

  • M-x help

により、ヘルプが表示されることだけは覚えておくこと。

 

関連記事