linux - How can I run ctags in a large code base? -
assuming have code directory structure follows:
/top /second /core a.pl b.pl c.pl /common d.pl e.pl /util f.pl g.pl h.pl where should run ctags can jump function definitions via vi?
for example had:
/dir /perl a.pl and run in dir command ctags -r perl in a.pl not jump function definition existed in same file.
if did ctags -r . inside perl directory worked.
so can not understand pattern. should run ctags in core, common,util? if code base huge? need run in each directory?
normally use 1 tags file located in root directory of project.
for example, tag whole of vim's own source code, located in ~/src/vim-7.3, navigate directory , generate tags file there.
$ cd ~/src/vim-7.3 $ ctags -r that's all.
you can same inside vim, of course. start vim , type:
:cd ~/src/vim-7.3 :!ctags -r check have correct 'tags' setting. default ./tags,tags, meaning vim tags file in current directory.
make sure read :h 'tags' in entirety. can instruct vim tags files deep in directory tree giving patterns containing wildcards.
one more thing: approach work, vim's current working directory must remain @ root @ times. if have option 'autochdir' set or switch directories yourself, tags won't found.
Comments
Post a Comment