gpt4 book ai didi

当omni complete什么都不返回时vim关键字完成?

转载 作者:行者123 更新时间:2023-12-04 23:45:22 25 4
gpt4 key购买 nike

我正在尝试使用全向完成,如果它什么都不返回,我想使用普通的关键字完成吗?

我认为 %omnifunc != '' 应该这样做...
但我错过了什么?
这是我的功能。

function! CleverTab()
if pumvisible()
return "\<C-N>"
endif
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\<Tab>"
elseif &omnifunc != ''
return "\<C-X>\<C-O>"
else
return "\<C-N>"
endif
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>

最佳答案

let g:stop_autocomplete=0

function! CleverTab(type)
if a:type=='omni'
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
let g:stop_autocomplete=1
return "\<TAB>"
elseif !pumvisible() && !&omnifunc
return "\<C-X>\<C-O>\<C-P>"
endif
elseif a:type=='keyword' && !pumvisible() && !g:stop_autocomplete
return "\<C-X>\<C-N>\<C-P>"
elseif a:type=='next'
if g:stop_autocomplete
let g:stop_autocomplete=0
else
return "\<C-N>"
endif
endif
return ''
endfunction

inoremap <silent><TAB> <C-R>=CleverTab('omni')<CR><C-R>=CleverTab('keyword')<CR><C-R>=CleverTab('next')<CR>

关于当omni complete什么都不返回时vim关键字完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2136801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com