この投稿が少し古いことは知っていますが、上記のものよりも少し最適化された独自の関数があります。
function! g:UltiSnips_Complete()
call UltiSnips#ExpandSnippetOrJump()
if g:ulti_expand_or_jump_res == 0
if pumvisible()
return "\<C-N>"
else
return "\<TAB>"
endif
endif
return ""
endfunction
もちろん、Joey Liu が提供した設定をそのままにして、この機能を使用すれば、すべてが完璧に機能します!
編集: また、別の関数を使用して、YouCompleteMe と UltiSnips の間のバックステッピング機能を増やします。私が何を意味するかをお見せします:
function! g:UltiSnips_Reverse()
call UltiSnips#JumpBackwards()
if g:ulti_jump_backwards_res == 0
return "\<C-P>"
endif
return ""
endfunction
次に、これを .vimrc に入れてください:
au BufEnter * exec "inoremap <silent> " . g:UltiSnipsJumpBackwardTrigger . " <C-R>=g:UltiSnips_Reverse()<cr>"
だけでなくlet g:UltiSnipsJumpBackwardTrigger="<s-tab>"
、あなたのセット!