Как я могу получить место, где функция определена в VIM быстро?

387
SpawnST

Я установил taglistи nerdtreeплагины, и мне интересно, есть ли способ быстро найти место, где определена какая-то функция, так же, как и что делает Controlнажатие имени функции Eclipse? Помощь будет оценена!

3

2 ответа на вопрос

2
Benjamin Bannier

vimпоставляется со встроенной поддержкой ctags. Если у вас есть tagsфайл, убедитесь, что его можно найти с помощью vim, добавив его в переменную tags (хотя сначала проверьте, работает ли по умолчанию)

:set tags+=/path/to/tags 

Затем вы можете использовать, :tselect SOME_FUNCчтобы перечислить расположение файлов. Вам может потребоваться только ввести первые символы имени функции и использовать их TABдля завершения.

Спасибо за быстрый ответ. Я создал новый каталог `/ usr / include / tags` для` tags` и поместил `set tags + = / usr / include / tags` в` .vimrc`, и, кажется, что-то все еще нужно? SpawnST 14 лет назад 0
@SpawnST содержит ли ваш каталог / usr / include / tags какие-либо файлы тегов? akira 14 лет назад 0
Вам нужно сгенерировать файл тегов, запускающий `ctags * .c`, из каталога, содержащего ваши исходные файлы. Смотрите `man ctags`, а также этот вопрос stackoverflow для получения дополнительных советов по vim & ctags: http://stackoverflow.com/questions/563616/vimctags-tips-and-tricks mrucci 14 лет назад 1
@ akira, нет, что такое `tags files`, как я могу их сгенерировать? SpawnST 14 лет назад 0
@ mrucci, ОИК, я проверю это, спасибо. SpawnST 14 лет назад 0
хорошо, наконец-то все готово SpawnST 14 лет назад 0
@SpawnST: прочитайте http://vim.wikia.com/wiki/Browsing_programs_with_tags akira 14 лет назад 0
@ Акира, это полезно, спасибо SpawnST 14 лет назад 0
1

Вы также можете поместить курсор где-нибудь в названии функции и нажать Ctrl-]