0

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

4

1 回答 1

0

开箱即用不支持这一点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('<cword>')返回。0它的坏处是它会尝试完成所有事情,因此您可能会收到很多Failed to complete消息并且性能低下。

于 2014-09-20T11:17:29.270 回答