1

我刚刚为我的大型 C 项目从 ctags 转移到 gtags。但我找不到任何适用于 gtags 的 vim 自动完成插件。gtags 使用如此广泛,并且比 ctags 更有效。我确定我在这里遗漏了一些东西。必须有人将 gtags 与任何自动完成插件集成。

4

2 回答 2

0

我必须为此编写自己的插件。如果有人需要,这里是链接。 https://github.com/kanwar-saad/gtagsomnicomplete

于 2015-03-11T10:48:42.173 回答
0

'omnifunc'为 Vim 写了一个简单的,它使用 GNUglobal来完成:

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

也可以看看:

于 2018-01-28T09:08:52.337 回答