When I run ctags -R *
, I get errors saying that all directories are not regular files and it skips them instead of recursively generating tags for them.
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.
What is the problem?
It occurs if you have elvis-tools installed . remove them with something like
and then install exuberant-ctags by
Similar to this and this, the problem is you're not running Exuberant Ctags, you're running GNU Emacs
etags
, which also provides actags
executable. Runctags --version
and you'll see something like this:And if you look in the man page, you'll see that
-R
is actually equivalent to--no-regex
. In fact, the man page doesn't even mention recursion as an option.You could probably generate the tags recursively using shell magic, but you may run into problems down the road if you're expecting Exuberant Ctags. So the best solution is probably to install the ctags you want instead:
Exuberant Ctags can also be installed from source: