Ctags — тег для файлов проекта и библиотеки (несколько каталогов с абсолютным путем)

Приведенная ниже иерархия каталогов взята из часто задаваемых вопросов по ctags.

Я мог бы создать файл тега с абсолютным путем к файлу как

cd ~/project
ctags --file-scope=no -R `pwd`

как я могу создать один файл тегов, который ищет мой проект и функции библиотеки std. Например, скажем, мой проект — /sysint/client, а библиотека — /misccomp. Как я могу создать файл тега, который выполняет поиск как в этом каталоге, так и в подкаталоге. (не хочу искать все под /).

Считаете ли вы, что лучше разделить файл на 2 тега?

`-----misccomp
  |       `...
  `-----sysint
          `-----client
          |       `-----hdrs
          |       `-----lib
          |       `-----src
          |       `-----test
          `-----common
          |       `-----hdrs
          |       `-----lib
          |       `-----src
          |       `-----test
          `-----server
                  `-----hdrs
                  `-----lib
                  `-----src
                  `-----test

person bsr    schedule 04.07.2012    source источник


Ответы (1)


Я думаю, что разделение на 2 файла тегов лучше. Почему:

  • Я думаю, вам нужно иногда обновлять свои теги. Меньший файл тегов обновить быстрее, чем больший. Итак, когда вы редактируете свой проект, обновляются только теги проекта, когда вы редактируете lib - обновляются только теги lig. Вместо того, чтобы каждый раз обновлять все теги;
  • Пока я писал плагин Indexer, я обнаружил, что несколько файлов тегов работают не медленнее, чем один файл тегов.

Я также рекомендую вам использовать этот плагин Indexer, он сделает всю работу автоматически. Он обеспечивает безболезненную автоматическую генерацию тегов и поддерживает актуальность тегов. Файл тегов создается в фоновом режиме, так что вам не придется ждать. Проверьте это, если хотите.

UPD: Подробную информацию смотрите в статье: Vim: удобная навигация по коду для ваших проектов, что подробно объясняет использование Indexer + Vimprj. Среди прочего объясняются теги для библиотек, а это именно то, что вам нужно.

person Dmitry Frank    schedule 16.07.2012