Next: , Previous: Select Tags Table, Up: Tags


20.13.4 タグの探索

タグテーブルで実現されるもっとも重要な機能は、 指定したタグの定義を探し出すことです。

M-. tag <RET>
タグtagの最初の定義を探す(find-tag)。
C-u M-.
最後に指定したタグのつぎの定義を探す。
C-u - M-.
まえにみつかったタグに戻る。
C-M-. pattern <RET>
名前がpatternに一致するタグを探す(find-tag-regexp)。
C-u C-M-.
最後に使用したパターンに一致するつぎのタグを探する。
C-x 4 . tag <RET>
タグtagの最初の定義を探し、 別のウィンドウに表示する(find-tag-other-window)。
C-x 5 . tag <RET>
タグtagの最初の定義を探し、 バッファを選択するための新たなフレームを作る。 (find-tag-other-frame)。
M-*
まえにM-.を起動した場所へ戻る。

M-.find-tag)は、指定したタグの定義を探すコマンドです。 まず、タグテーブルの中で文字列としてタグ名を探し、 タグテーブルの情報を用いて、 定義されているファイルの名前とファイル内でのおおよその文字位置を求めます。 続いて、find-tagはそのソースファイルを訪れて、 ポイントをおおよその文字位置に移動してから、 範囲を広げながらタグの定義を探します。

(単に<RET>と打って)引数を指定しないと、 ポイントの直前または周辺にあるS式をtag引数として使います。 S式に関しては、See Lists

コマンドM-.にタグの名前を完全に与える必要はありません。 その一部分で十分です。 というのは、M-.は、部分文字列としてtagを含む タグをタグテーブルで探すからです。 もちろん、部分一致よりも全一致のほうが望ましいです。 同じ部分文字列に一致する別のタグを探すには、 C-u M-.のようにfind-tagに数引数を指定します。 こうするとタグ名を聞いてきませんが、 最後に使ったものと同じ部分文字列を含む別のタグを タグテーブルから探します。 もし本物の<META>キーが使えるのであれば、 C-u M-.のかわりにM-0 M-.と打つほうが簡単でしょう。

バッファの切り替えを伴う他のコマンドと同様に、 find-tagにも新たなバッファを別のウィンドウに表示したり、 新規作成したフレームに表示する変種があります。 前者はC-x 4 .であり、コマンドfind-tag-other-windowを起動します。 後者はC-x 5 .であり、find-tag-other-frameを起動します。

最近にみつけたタグ位置に戻るには、C-u - M-.を使います。 より一般的には、M-.に負の数引数を指定します。 このコマンドは、別のバッファへも移動します。 C-x 4 .に負の数引数を指定すると、 別のウィンドウでまえのタグ位置に戻ります。

最近にみつけたタグ位置に戻るだけでなく、 タグを探したときの場所へ戻ることもできます。 それには、コマンドpop-tag-markを起動するM-*を使います。 典型的な使い方では、M-.で何かの定義を調べてから、 M-*でもとの場所に戻ります。

C-u - M-.M-*のどちらも、 変数find-tag-marker-ring-lengthで指定される深さまで、 辿った経路を引き返せます。

コマンドC-M-.find-tag-regexp)は、 指定した正規表現に一致するタグを訪れます。 部分文字列ではなく正規表現に一致するものであることを除けば、 M-.と同じです。