3
En essayant d'utiliser omni-finitions et si elle ne renvoie rien, je veux utiliser l'achèvement normal de mot-clé?Le mot clé vim est-il complet lorsque omni complete ne renvoie rien?
je pense que% omnifunc! = '' Devrait le faire ...
mais qu'est-ce qui me manque? Voici ma fonction.
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>
mais .. onglet normal ne fonctionne pas avec cette solution? :( – jonaz
oh putain, je l'oublie;) de toute façon, vous devriez vérifier double pumvisible pour chaque menu –
hmm ... ne pas le faire fonctionner, si je tabulation après un espace je reçois un onglet, puis immédiatement je reçois une nouvelle saisie semi-automatique menu. J'ai essayé ceci comme une première instruction if: si strpart (getline ('.'), 0, col ('.') - 1) = ~ '^ \ s * $' retourne "\" –
jonaz