在vim中完成叮当声,以在任何输入后自动完成

在vim中完成叮当声,以在任何输入后自动完成,vim,clang-complete,Vim,Clang Complete,如何使clang_complete自动完成不仅在.、->和::,而且在单词的前三个字符之后完成?这不是现成的clang_complete所支持的,但下面是一个如何实现的示例这是一个概念证明,而不是一个有效的解决方案: autocmd CursorMovedI *.h,*.c,*.hpp,*.cpp call FastInvoke() function! FastInvoke() let l:col = col('.') if l:col == 1 || len(expand('&

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

这不是现成的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返回的字符串的长度,expand在单词末尾返回0。 它的缺点是,它会尝试完成所有内容,因此您可能会收到大量无法完成的消息,并且性能低下