2014-08-27 3 views
3

Я пытаюсь использовать cscope с vim, и я нахожу вещи немного запутанными.Как настроить cscope для vim?

Предположим, у меня есть проект в /home/user/projects/project_foo/. Если я пройду через cscope прямо, все работает отлично (я могу найти символы). Если я пройду vim, я получаю ошибку no cscope connections. Поэтому я не понимаю, как это работает.

Насколько я понимаю, вы должны создать базу данных для своего проекта, , но когда я запустил cscope [-R] [-b] в каталоге проекта, в этом каталоге не создается файл. Итак, где создана база данных? Есть ли отдельная база данных для каждого проекта или глобальной базы данных?

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

Как сделать vim (загруженный из каталога проекта), чтобы использовать базу данных для этого проекта. Если есть глобальная база данных, я могу сделать vim поиск только в текущем проекте?

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

+0

Я знаю, что я технически задал более одного вопроса, но все это сводится к вопросу в названии, и я не думаю, что в этом случае было бы обосновано три отдельных вопроса на этом сайте. – bolov

+1

вы можете начать с: h cscope-howtouse и: h cscope-предложения – tristan

+0

@tristan спасибо. Только то, что мне было нужно. Кроме того, я не видел созданный файл 'cscope.out'. Слепой. – bolov

ответ

2

Благодаря: tristan

:h cscope-howtouse 
:h cscope-suggestions 

cscope -b создает базу данных cscope.out.
:cs add cscope.out добавляет базу данных.

1

Должен ли я восстанавливать базу данных каждый раз, когда я вношу изменения в символы проекта (например, добавляет функцию)?

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

Как сделать vim (загруженный из каталога проекта), чтобы использовать базу данных для этого проекта. Если есть глобальная база данных, я могу сделать vim поиск только в текущем проекте?

Вы можете сделать это, изменив скрипт vimrc. Учебник Autoloading cscope database - хороший пример того, что вы можете настроить.

Смежные вопросы