35

を実行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.

何が問題ですか?

4

2 に答える 2

71

これこれと同様に、問題はExuberant Ctagsを実行しておらず、実行可能ファイルetagsも提供するGNUEmacsを実行していることです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/
于 2010-06-03T18:00:07.170 に答える
8

elvis-toolsがインストールされている場合に発生します。次のようなものでそれらを削除します

sudo apt-get remove elvis-tools 

次に、によってexuberant-ctagsをインストールします

sudo apt-get install exuberant-ctags
于 2012-07-12T09:07:53.327 に答える