diff --git a/autoload/SpaceVim/layers/autocomplete.vim b/autoload/SpaceVim/layers/autocomplete.vim index 31818e3ee..e03bf6e97 100644 --- a/autoload/SpaceVim/layers/autocomplete.vim +++ b/autoload/SpaceVim/layers/autocomplete.vim @@ -118,6 +118,7 @@ function! SpaceVim#layers#autocomplete#config() abort if s:tab_key_behavior ==# 'smart' if has('patch-7.4.774') imap SpaceVim#mapping#tab() + imap SpaceVim#mapping#shift_tab() if g:spacevim_snippet_engine ==# 'neosnippet' smap \ neosnippet#expandable_or_jumpable() ? @@ -125,18 +126,14 @@ function! SpaceVim#layers#autocomplete#config() abort \ (complete_parameter#jumpable(1) ? \ "\(complete_parameter#goto_next_parameter)" : \ "\") - imap SpaceVim#mapping#shift_tab() elseif g:spacevim_snippet_engine ==# 'ultisnips' - imap SpaceVim#mapping#tab() - imap SpaceVim#mapping#shift_tab() snoremap \ :call UltiSnips#JumpForwards() snoremap \ :call UltiSnips#JumpBackwards() - else endif else - call SpaceVim#logger#warn('smart tab in autocomplete layer need patch 7.4.774') + call SpaceVim#logger#info('smart tab in autocomplete layer need patch 7.4.774') endif elseif s:tab_key_behavior ==# 'complete' inoremap pumvisible() ? "\" : "\" @@ -157,9 +154,14 @@ function! SpaceVim#layers#autocomplete#config() abort inoremap pumvisible() ? "\\\" : "\" inoremap pumvisible() ? "\\\" : "\" " in origin vim or neovim Alt + / will insert a /, this should be disabled. - imap - \ neosnippet#expandable() ? - \ "\(neosnippet_expand)" : "" + let g:complete_parameter_use_ultisnips_mapping = 1 + if g:spacevim_snippet_engine ==# 'neosnippet' + imap + \ neosnippet#expandable() ? + \ "\(neosnippet_expand)" : "" + elseif g:spacevim_snippet_engine ==# 'ultisnips' + inoremap =UltiSnips#ExpandSnippetOrJump() + endif let g:_spacevim_mappings_space.i = {'name' : '+Insertion'} if g:spacevim_snippet_engine ==# 'neosnippet' diff --git a/config/plugins_before/ultisnips.vim b/config/plugins_before/ultisnips.vim index c31149706..d4ba1c085 100644 --- a/config/plugins_before/ultisnips.vim +++ b/config/plugins_before/ultisnips.vim @@ -1,6 +1,6 @@ " If you want :UltiSnipsEdit to split your window. -let g:UltiSnipsEditSplit="vertical" -let g:UltiSnipsExpandTrigger='' -let g:UltiSnipsJumpBackwardTrigger='' -let g:UltiSnipsJumpForwardTrigger='' +let g:UltiSnipsEditSplit = 'vertical' +let g:UltiSnipsExpandTrigger = get(g:, 'UltiSnipsExpandTrigger', '') +let g:UltiSnipsJumpBackwardTrigger = get(g:, 'UltiSnipsJumpBackwardTrigger', '') +let g:UltiSnipsJumpForwardTrigger = get(g:, 'UltiSnipsJumpForwardTrigger', '') let g:UltiSnipsSnippetsDir = '~/.SpaceVim.d/UltiSnips'