vim не может подключиться к базе данных cscope - PullRequest
11 голосов
/ 23 июня 2011

У меня установлен opensuse 11.4. Vim версии 7. Теперь я обычно использую его для просмотра исходного кода ядра Linux. Таким образом, я сгенерировал базу данных cscope внутри директории в моей домашней папке, т.е. / home / aijazbaig1 / cscope_DB /, и я получил 3 файла, а именно. cscope.out, cscope.po.out и cscope.in.out, кроме файла cscope.files, который содержит список всех соответствующих файлов, которые я хочу найти.

Дополнительно я добавил в свой .bashrc следующее:

CSCOPE_DB=/home/aijazbaig1/cscope_DB/cscope.out
export CSCOPE_DB

Но когда я делаю :cscope show изнутри vim, он говорит, что нет никаких соединений. Может кто-нибудь, пожалуйста, дайте мне знать, что идет не так.

Хочу услышать от вас,

Ответы [ 6 ]

12 голосов
/ 08 апреля 2015

Это упоминается в комментариях выше, но я хочу убедиться, что оно сохраняется в ответе.

Проблема, которая возникла у меня, заключалась в том, что vim не знал, где искать базу данных cscope. Когда я добавил

cs add $CSCOPE_DB

на мой .vimrc. Все вышло хорошо.

12 голосов
/ 06 ноября 2012

Я полагаю, что с тех пор, как совершил визит, я постараюсь ответить.

Я получал эту ошибку при поиске с использованием ctrl-space s (или при любом поиске по этому вопросу):

E567: нет соединений cscope

Я наконец нашел полное решение в http://cscope.sourceforge.net/cscope_vim_tutorial.html, Шаг 11.

Идея состоит в том, что вы создаете список исходных файлов для включения в представление cscope, генерируете cscope.out в том же месте и соответственно обновляете путь экспорта:

  • find /my/project/dir -name '*.c' -o -name '*.h' > /foo/cscope.files
  • cscope -R -b (это может занять некоторое время в зависимости от размера вашего источника)
  • export CSCOPE_DB=/foo/cscope.out (поместите это в ваш .bashrc / .zshrc / other-начиная-скрипт, если вы не хотите повторять это каждый раз, когда вы входите в терминал)
1 голос
/ 13 ноября 2017

Вам нужно добавить «соединение cscope», например, в vim:

:cscope add $PATH_TO_CSCOPE.out 

См. :help cs для большего количества примеров.

0 голосов
/ 02 ноября 2018

Я столкнулся с подобной проблемой без соединений cscope в Ubuntu 18.04, затем я обнаружил, что мой файл .vimrc не загружает переменную CSCOPE_DB. Немного огляделся и нашел решение .

Вы можете просто скопировать это прямо в ваш файл .vimrc.

Часть кода загружает ваш файл cscope из вашего каталога. Связки клавиш являются просто приятным бонусом. Надеюсь, это поможет.

0 голосов
/ 09 марта 2018

Вот как я исследую исходный код ядра Linux с помощью cscope:

Я использую vim в качестве редактора.

  1. Стоя внутри корневого каталога исходного кода ядра, запустите cscope в интерактивном режиме.режим при рекурсивном обходе подкаталогов при поиске исходных файлов:

cscope -R

При первом запуске будет создан файл базы данных с именем: cscope.outвнутри текущего каталога.При любых последующих запусках будет использоваться уже созданная база данных.

Найдите что-нибудь или любой файл и откройте его. Установите теги cscope в vim, чтобы команды :tag и CTRL-] сначала выполняли поиск по cscope, а затем теги ctags:

:set cscopetag

Установить базу данных cscope в текущем сеансе VIM:

:cs add cscope.out

Теперь вы можете использовать CTRL-] и CTRL-t, как в ctags для навигации!:)

0 голосов
/ 07 марта 2017

У меня та же проблема на моем ПК.Сейчас, чтобы решить проблему:

  1. На терминале выполните: which is cscope

  2. Откройте файл .vimrc для редактирования: set csprg=/usr/bin/cscope

...