Как заставить ctags работать внутри vim - PullRequest
10 голосов
/ 04 апреля 2011

Я новичок в vim и хотел, чтобы интеграция ctags работала, чтобы мне было легче ориентироваться в большом Java-проекте.

Я вытащил zip из исходного кузницы и извлек его, но отсюда яя не уверен, как заставить его работать с vim

Любая помощь для начинающего пользователя vim будет отличной!

Ответы [ 5 ]

11 голосов
/ 27 мая 2014

Поскольку никто не дал одной критической функции в этих ответах, я приведу еще один слегка превосходящий ответ.

Самый простой способ использовать ctags с vim - это позвонить:

ctags -R *

из корня вашего исходного хранилища. Это создаст файл tags в том же каталоге.

В вашем файле ~/.vimrc добавьте этот короткий блок:

 " ctags optimization
 set autochdir
 set tags=tags;

" обозначает комментарий. set autochdir сообщает vim, что если он не найдет файл tags в $PWD, он будет рекурсивно искать в родительском каталоге файл tags. set tags=tags; сообщает vim, что имя вашего tags файла всегда будет таким же, как файл по умолчанию tags, сгенерированный ctags.

Пока вы запускаете ctags -R * в корневом каталоге с исходным кодом и время от времени обновляете его (если вы извлекаете новые изменения у других), у вас всегда будет быстрый и интуитивно понятный поиск символа ctags в vim. 1024 *

6 голосов
/ 05 апреля 2011

Используя exuberant ctags, я использую что-то вроде этого в базовой директории моего проекта (исключая директорию log):

ctags -R --exclude=log *
5 голосов
/ 04 апреля 2011

Вы должны выполнить команду ctags с исходными файлами в качестве аргументов. Это создаст файл тегов, содержащий всю информацию. Затем вы можете открыть файл с помощью vim, например, нажмите Ctrl-] в строке с функцией, чтобы перейти к коду этой функции. Если vi не запускается в том же каталоге, что и файл тега, вы можете установить его с помощью :set tags=<file>

3 голосов
/ 04 апреля 2011

Это то, что я делаю:

  1. ctags -n -f [OUTPUT] [SOURCE] для генерации тегов (ПРИМЕЧАНИЕ: -n относится ко мне, но может и не понадобиться для вашего использования)
  2. exec "set tags=" . [OUTPUT] внутри .vimrc, чтобы позволить vim узнать о тегах

РЕДАКТИРОВАТЬ: Я использую

  • Exuberant Ctags 5.5.2
  • VIM 6.1

Дополнительная информация:

  • См. Использование ctags здесь
  • Советы и рекомендации SO
2 голосов
/ 05 апреля 2011

посмотрите на эту статью: vim-easytags . Я не пробовал это, но выглядит неплохо. ручное создание и обновление тегов было действительно раздражающим. надеюсь, это поможет. :)

...