Я решил проблему, используя gtags-cscope
как cscopeprog
. Кроме того, я активировал cscopetag для использования cscope для поиска ctag в vim. Таким образом, если вы нажмете <C-]>
, вы ищите декларацию в gtags и <C-t>
, чтобы вернуться назад.
Для поиска ссылок, которые я сопоставил с <C-\>
, я использую окно quickfix. Это не использует стек тегов, а <C-t>
не будет работать.
Я попробовал это, используя стек тегов, но это приводит к загроможденному стеку тегов и большому окну выбора. Если вы найдете несколько ссылок, вы должны нажать <C-t>
несколько раз, поэтому я решил использовать вместо этого метод fastfix.
Вот моя фактическая конфигурация.
set cscopeprg=gtags-cscope
if has('cscope')
set cscopetag cscopeverbose
if has('quickfix')
set cscopequickfix=s-,c-,d-,i-,t-,e-
endif
map <C-\> :cs find c <C-R>=expand("<cword>")<CR><CR>
endif
Если вы хотите дать ссылку поиск без QuickFix попытку, удалите опцию c-
в cscopequickfix
.
Еще один совет, cscopeverbose
- возможность распечатывать сообщения об ошибках при использовании cscope. В противном случае вы не получите ошибок (например, файл с добавленными гаджетами или символ не найден).
EDIT 1:
Чтобы загрузить файл GTAGS, используйте встроенную команду cs add ./GTAGS
.
Хм, 'ctrl-t' должен работать. Попробуйте 'ctrl-o' и посмотрите, ведет ли он себя так, как вы хотите. – Th30n