apropos(折よい、適切な)コマンドは、“What are the commands for working with files?(ファイルを処理するコマンドは?)”のような質問に答えるものです。より正確に言うと単語、単語のリスト、正規表現によって、aproposパターンを指定します。
以下の各aproposコマンドは、ミニバッファーでaproposパターンを読み取り、パターンにマッチするアイテムを検索して、結果を別のウィンドウに表示します。
コマンドを検索します(apropos-command
)。プレフィクス引数を指定すると、非インタラクティブな関数も検索します。
関数と変数を検索します。これを使えばインタラクティブな関数(コマンド)と非インタラクティブな関数の両方を検索できます。
ユーザーがカスタマイズできる関数を検索します。プレフィクス引数を指定すると、カスタマイズできない変数も検索します。
変数を検索します。プレフィクス引数を指定すると、カスタマイズできる変数だけを検索します。
バッファーローカル変数を検索します。
指定したパターンにマッチする値の変数を検索します。プレフィクス引数を指定すると、定義がパターンにマッチする関数と、プロパティーリストがパターンにマッチする、Lispシンボルも検索します。
値が指定されたパターンにマッチする、バッファーローカル変数を検索します。
指定されたパターンにマッチするドキュメント文字列の関数、または変数を検索します(apropos-documentation
)。
最も簡単な種類のaproposパターンは単語です。その単語が含まれていれば、パターンにマッチします。ファイルを処理するコマンドを探すには、C-h
a file
RETと入力します。これはcopy-file
、find-file
などの、名前に‘file’を含むすべてのコマンドの一覧を表示します。各コマンド名には簡単な説明と、それを呼び出すためのキーの一覧が一緒に表示されます。この例だと、find-file
はC-x
C-fで呼び出せることがわかります。
aproposバッファーの関数定義、変数、シンボルの属性についてもっと情報が欲しいときは、mouse-1またはmouse-2でクリックするか、そこに移動してRETを押してください。
2つ以上の単語をaproposパターンに指定したときは、マッチするために少なくとも名前に2つの単語が含まれていなければなりません。たとえばポイントの前のテキストをkillするコマンドを探すときは、C-h
a kill back backward behind before
RETなどと試みることができます。これは実際のコマンド名kill-backward
にマッチするでしょう。もしkill-text-before
というコマンドがあったなら、これも指定した単語を2つ含んでいるのでマッチします。
より一層フレキシビリティを高めるために、正規表現(see Regexps)を指定できます。aproposパターンに正規表現の特殊文字‘^$*+?.\[’が含まれていると、それは正規表現として扱われます。
Emacsコマンド命名の慣習に従うと、aproposパターンとして便利な単語がいくつかあります。これらをC-h aで使うことにより、命名の慣習の必要性を感じることができるでしょう。
char、line、word、sentence、paragraph、region、page、sexp、list、defun、rect、buffer、frame、window、face、file、dir、register、mode、beginning、end、forward、backward、next、previous、up、down、search、goto、kill、delete、mark、insert、yank、fill、indent、case、change、set、what、list、find、view、describe、default
変数apropos-do-all
が非nil
の場合、ほとんどのaproposコマンドは、プレフィクス引数が与えられたかのように振る舞います。例外が1つあります。プレフィクス引数なしのapropos-variable
は、apropos-do-all
の値に関係なく、常にすべての変数を検索します。
デフォルトでは、apropos-documentation
を除くすべてのaproposコマンドは、結果をアルファベット順に一覧します。変数apropos-sort-by-scores
が非nil
のときは、かわりに結果の関連度を推測して、一番関連度が高いと思われるものを最初に表示します。apropos-documentation
コマンドは、デフォルトで結果を関連度順で一覧します。これをアルファベット順にするには、変数apropos-documentation-sort-by-scores
をnil
に変更してください。