Подсказки для установки сложных путей поиска CTAGS

Чтобы считаться совместимым, исходный указатель должен быть константой на сразу предшествующем косвенном уровне. Так, это даст Вам предупреждение в GCC:

char **a;
const char* const* b = a;

, Но это не будет:

const char **a;
const char* const* b = a;

, С другой стороны, можно бросить его:

char **a;
const char* const* b = (const char **)a;

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

8
задан Robert S. Barnes 17 November 2009 в 22:08
поделиться

4 ответа

Я использую:

set tags=~/.tags
set tags+=~/.vim/tags/cpp
set tags+=~/src/git/gitsrc/tags
" and so on...

Для генерации тегов в корне конкретного проекта:

map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>

Я адаптировал эту настройку из подсказки vim для завершения кода C ++ .

5
ответ дан 5 December 2019 в 23:15
поделиться

замените тильду на путь к вашему дому.

0
ответ дан 5 December 2019 в 23:15
поделиться

Всегда ли файл тегов находится в каталоге проекта /? Если это так, вам не нужно «искать», чтобы найти файл тегов. Просто запрограммируйте путь к обоим файлам следующим образом:

set tags=/home/you/projects/foo/tags;/home/you/some/arbitrary/path/tags

Если нет, вы можете попробовать что-то вроде этого:

set tags=/home/you/projects/**;/home/you/projects,/home/you/some/arbitrary/path/tags

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

0
ответ дан 5 December 2019 в 23:15
поделиться

Ваша первая опция «установить теги» работает для меня в Linux. (То есть, я делал это раньше и просто воссоздал, чтобы быть уверенным.) Вы можете указать много разных путей в параметрах тегов, как абсолютных, так и относительных. Однако во втором случае в середине списка стоит точка с запятой, что неверно. На самом деле, вам не нужна точка с запятой. Я бы также заменил ~ на абсолютный путь к вашему дому, на всякий случай, и удалил точки с запятой все вместе. Просто ставьте запятые между путями.

О, и для поиска в каталоге файла тегов вам потребуется "../tags", а не "./tags". Одиночная точка означает текущий каталог, две точки означают каталог, находящийся наверху от того места, где вы находитесь.

0
ответ дан 5 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: