VIM:自动完成插件,可以使用gtags

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VIM:自动完成插件,可以使用gtags相关的知识,希望对你有一定的参考价值。

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

答案

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

另一答案

我为Vim编写了一个简单的'omnifunc',使用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), '
')
  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

也可以看看:

以上是关于VIM:自动完成插件,可以使用gtags的主要内容,如果未能解决你的问题,请参考以下文章

从零开始配置vim(27)——代码片段

从零开始配置vim(27)——代码片段

GNU Global/gtags 是不是支持 taglist vim 插件?

vim代码片段插件ultisnips的使用

VIM 代码片段插件 ultisnips 使用教程

win10-vim8安装ctags/gtags/preview