【问题标题】:VIM: autocomplete plugin to work with gtagsVIM:与 gtags 一起使用的自动完成插件
【发布时间】:2015-03-10 09:02:32
【问题描述】:

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

【问题讨论】:

    标签: vim vim-plugin gnu-global


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我为 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), '\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
      

      另见:

      【讨论】:

        猜你喜欢
        • 2016-12-06
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 2023-03-30
        • 1970-01-01
        • 1970-01-01
        • 2012-04-09
        • 2013-09-19
        相关资源
        最近更新 更多