Exuberant ctags

Создание индексного файла определений и объектов исходных кодов.

Ctags формирует индексный ( или tag ) файл объектов исходных кодов, который используется для быстрой и удобной навигации в текстовом редакторе или других утилитах. Тег определяет объект языка для каждой существующей записи списка.

Поддерживает следующие языки:

Assembler, AWK, ASP, BETA, Bourne/Korn/Zsh Shell, C, C++, COBOL, Eiffel, Fortran, Java, Lisp, Lua, Make, Pascal, Perl, PHP, Python, REXX, Ruby, S-Lang, Scheme, Tcl, Vim, and YACC.

Tag индексный файл поддерживается многочисленными редакторами, позволяющими пользователю перемещаться по объектам, которые ассоциируются с именем объекта, используемом в исходном файле, и переходить в файл и его строку, где определяется это имя. Данное реализовано в следующих редакторах:

Vi и его клоны (e.g. Elvis, Vim, Vile, Lemmy), CRiSP, Emacs, FTE (Folding Text Editor), JED, jEdit, Mined, NEdit (Nirvana Edit), TSE (The SemWare Editor), UltraEdit, WorkSpace, X2, Zeus.

Home web site - http://ctags.sourceforge.net

Примеры использования.

Сформировать индексный файл

  • Си-исходников текущего каталога:

    ctags *.c *.h
    
  • Всех поддерживаемых языков файлов текущего каталога:

    ctags *
    
  • Рекурсивно, начиная с каталога на два уровня выше текущего:

    ctags -R ../../*
    

Использование tags-файла в FTE

'C+]' - TagFindWord, найти определение объекта, на который указывает курсор
(если при первом нажатии tags-файл еще не загружен, то предлагается его загрузить).

'C+[' - TagPop, вернуться на предыдущую позицию tags-поиска.

'A+[' - TagPrev, перейти к следующему определению имени (если такое имеется).

'A+]' - TagNext, перейти к предыдущему определению имени (если такое имеется).

Все определения tags-файла входят в словарь для операции CompleteWord - "дописать слово" по первым введенным буквам, вызывается сочетанием 'C+Tab'.

Сочетания клавиш приведены из "родной" конфигурации FTE