【问题标题】:Make clang-complete in vim to autocomplete after any input在vim中使clang-complete在任何输入后自动完成
【发布时间】:2014-11-13 22:05:18
【问题描述】:

如何使 clang_complete 不仅在 .、-> 和 :: 之后,而且在单词的前三个字符之后自动补全?

【问题讨论】:

    标签: vim clang-complete


    【解决方案1】:

    clang_complete 不支持开箱即用,但这里有一个如何实现它的示例(这是一个概念证明,而不是一个可行的解决方案):

    autocmd CursorMovedI *.h,*.c,*.hpp,*.cpp call FastInvoke()
    function! FastInvoke()
        let l:col = col('.')
        if l:col == 1 || len(expand('<cword>')) != 0
            return
        endif
    
        let l:line = line('.')
        call cursor(l:line, l:col - 1)
        let l:wordlen = len(expand('<cword>'))
        call cursor(l:line, l:col)
        if l:wordlen == 3
            call feedkeys("\<c-x>\<c-u>")
        endif
    endfunction
    

    它测量expand('&lt;cword&gt;') 返回的字符串的长度,它在单词的末尾返回0。 它的坏处是它会尝试完成所有事情,因此您可能会收到大量Failed to complete 消息并且性能低下。

    【讨论】:

      猜你喜欢
      • 2011-08-04
      • 2012-11-19
      • 2013-01-17
      • 2011-10-02
      • 1970-01-01
      • 2020-01-04
      • 2012-10-28
      • 2011-03-07
      • 2023-03-30
      相关资源
      最近更新 更多