実行するとctags -R *
、すべてのディレクトリが通常のファイルではなく、タグを再帰的に生成する代わりにスキップするというエラーが表示されます。
ctags: skipping arpa: it is not a regular file.
ctags: skipping asm: it is not a regular file.
ctags: skipping asm-generic: it is not a regular file.
ctags: skipping bits: it is not a regular file.
ctags: skipping blkid: it is not a regular file.
ctags: skipping boost: it is not a regular file.
何が問題ですか?
this および this と同様に、問題は、Exuberant Ctagsを実行していない、実行しているGNU Emacs etags
、これはctags
実行可能ファイルも提供します。ctags --version
を実行すると、次のように表示されます。
ctags (GNU Emacs 23.1)
Copyright (C) 2009 Free Software Foundation, Inc.
This program is distributed under the terms in ETAGS.README
また、manページを見ると、-R
は実際には--no-regex
と同等であることがわかります。実際、manページでは、オプションとして再帰についても言及されていません。
-R, --no-regex
Don't do any more regexp matching on the following files. May
be freely intermixed with filenames and the --regex option.
シェルマジックを使用してタグを再帰的に生成することもできますが、あふれんばかりのCtagを期待している場合は、将来的に問題が発生する可能性があります。したがって、最善の解決策は、代わりに必要なctagsをインストールすることです。
Sudo apt-get install exuberant-ctags
あふれんばかりのCtagsはソースからインストールすることもできます:
http://ctags.sourceforge.net/
Elvis-toolsがインストールされている場合に発生します。次のようなものでそれらを削除します
Sudo apt-get remove elvis-tools
次に、exuberant-ctagsをインストールします。
Sudo apt-get install exuberant-ctags