LINUX.ORG.RU

Gvim помогите найти аналог Eclipse «All refernces» для функции


0

0

Нравится gvim!

но не хватает вывести список всех мест где в проекте встречается
указанная функция, знаю что ответ где то рядом, гно найти не могу!

Ознакомился vimbook-OPL.pdf но не нашел...

Ответ на: комментарий от fghj

tags, cview установлены!

:tag имя_функции
выдает место ее декларации или объявления


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

andyS1976
() автор топика
Ответ на: комментарий от anonymous

SlickEdit для моей цели не очень подходит,

разбираюсь с кодом ядра linux, там как известно кода до кучи, поэтоме gvim меньше тормозит чем eclipse или slickedit.

SlickEdit вообще имеет следующие недостатки помимо платности: глючный дебугер автопродолжение кода тормознутое и не всегда корректное для stl ИМХО Eclipse лучше SlickEdit, но VisualC++ 6 версии мне еще больше нравится.

а что касается grep может это и труе, но все таки туповатый, поскольку функция может быть с разным количеством аргументом или имя одной и тойже функции может быть в разных классах

Так все таки есть true-vim как найти референцы в коде ну указанную функцию?

andyS1976
() автор топика
Ответ на: комментарий от andyS1976

> что касается grep может это и труе, но все таки туповатый, поскольку функция может быть с разным количеством аргументом или имя одной и тойже функции может быть в разных классах

Может и туповато, зато "дешево, надежно и практично". Во всяком случае для сишного кода работает.

shumer
()
Ответ на: комментарий от fghj

Спасибо!

cscope как раз то что надо, например для вывода списка функций которые вызывают функцию ip_defrag:

:cs find -c ip_defrag

love vim :)

andyS1976
() автор топика
Ответ на: комментарий от shumer

для С++ не проверял, но для кода ядра все ок!

andyS1976
() автор топика
Ответ на: комментарий от Cris

когда читал vimbook-OPL.pdf то первым делом попробовал, но в gvime почему то не сработало, наверно надо это в vimrc где то указать подобную комбинацию, но пока копать на эту тему нету времени, если кто знает, то приведите плз эту строчку которую надо в конфиг воткнуть чтобы заработало подобная комбинация клавиш

andyS1976
() автор топика
Ответ на: комментарий от andyS1976

> приведите плз эту строчку которую надо в конфиг воткнуть чтобы заработало подобная комбинация клавиш

Ошибся. Эта команда только ищет в данном файле и подключаемых инклудом.

Но есть вариант, что работает :). Сначала сгенери tag-файл и смотри чтобы в :set tags вим его видел. После этого пишем нехитрый маппинг:

:map [I :ts <C-r><C-w><CR>

Вместо [I можешь прописать что тебе больше нравится :).

Cris
()
Ответ на: комментарий от Cris

[I мне нравится,

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

:map [I :cs find c <C-r><C-w><CR>



andyS1976
() автор топика
Ответ на: комментарий от Cy6erBr4in

Емак посмотрел, но признаюсь что запутался в нем, интерфейс для меня немного убогий (наверно тсл), да и когда попробовал написать простенький проект то с первого раза не получилось, а получилось в СликЕдите, но во время дебугинга СликЕдит так не корректно раотал, что нашлась только одноболее менее достойная альтернатива Еклипсе! Но Еклипсе тормозит пр автопродолжение кода, при поиске референцов и так далее, поэтому когда у меня появился интерес посмотреть как в исходниках ядра реализована сеть, пока остановился на виме

andyS1976
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.