VIM: плагин автозаполнения для работы с gtags
Я только что перешел из ctags в gtags для моего огромного C-проекта. Но я не смог найти плагин vim для автозаполнения, который работает с gtags. gtags так широко используется и намного эффективнее ctags. Я уверен, что я что-то здесь упускаю. Кто-то должен иметь встроенные gtags с любым плагином автозаполнения.
2 ответа
Решение
Я должен написать свой собственный плагин для этого. Вот ссылка, если кому-то это нужно. https://github.com/kanwar-saad/gtagsomnicomplete
Я написал простой 'omnifunc'
для Vim, который использует GNU global
для завершения:
augroup GlobalComplete
autocmd!
autocmd FileType c setlocal omnifunc=GlobalComplete
augroup END
function! GlobalComplete(findstart, base)
if a:findstart == 1
return s:LocateCurrentWordStart()
else
return split(system('global -c ' . a:base), '\n')
endif
endfunction
function! s:LocateCurrentWordStart()
let l:line = getline('.')
let l:start = col('.') - 1
while l:start > 0 && l:line[l:start - 1] =~# '\a'
let l:start -= 1
endwhile
return l:start
endfunction
Смотрите также: