2015-03-10 2 views
1

Я только что перешел из ctags в gtags для моего огромного проекта C. Но я не мог найти какой-либо плагин automomplete vim, который работает с gtags. gtags настолько широко используется и намного эффективнее, чем ctags. Я уверен, что здесь что-то не хватает. Кто-то должен иметь встроенные гагаты с любым плагином автозаполнения.VIM: плагин автозаполнения для работы с gtags

ответ

0

Я написал простой '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 

Смотрите также:

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