
関数を含むすべてのファイルを一覧表示しようとしていますmatrixCal
。
Linuxでこれを行うにはどうすればよいですか?
答え1
グレブは大丈夫ですか?
grep -R matrixCal /location/of/your/code
答え2
あなたはこのプログラムに興味があるでしょうack
。これは、ソースコードディレクトリを検索し、読みやすい形式で便利なコンテンツを返すように特別に設計されています。基本的に同じことを行いますgrep
が、より使い慣れた形式です。
答え3
伝統的なアプローチは、ソースコードに関数と変数定義のインデックスを作成し、エディタを使用してインデックスを取得することです。従来の索引付けコマンドは次のとおりです。ctags
tags
viで利用可能なファイルを作成します。 Emacsは次の機能を提供します。etags
注文する(ファイル名はTAGS
)。
たとえば、Cソースツリーの場合は、次のようにTAGS
Emacs用のファイルを生成できます。
find -type f -name '*.[hc]' -exec etags {} +
Subversionでチェックアウトされた大規模なソースツリーの場合、ここに2つの改善点があります。.svn
ディレクトリを無視し、長すぎてコマンドラインの長さ制限を超えることができないファイル階層を処理します(各連続呼び出しがetags
最初からドキュメントから書き換えられるため、ファイルは切り捨てられます)。 )。
: >TAGS
find -type d -name .svn -prune -o \
-type f -name '*.[hc]' -exec etags -a {} +
その後、Emacsで一度実行してファイルをM-x visit-tags-table
選択します。TAGS
単語の上にカーソルを置き、()をmatrixCal
押して定義に移動します(必要に応じて定義を含むファイルを開きます)。発生の間を繰り返すには、を実行して入力して1つの発生に移動し、()を使用して次の発生に移動します。バッファでは、シンボルが使用される場所の概要が提供されます。M-.
find-tag
M-x tags-search
^matrixCal$
M-,
tags-loop-continue
TAGS
M-x occur RET matrixCal RET