I recently installed the ultisnips plugin on neovim, and I'm having an issue with it:
When I enable ultisnips
, when I press <
in visual mode, there's a delay until my lines are left-shifted, but my right-shifting using >
works instantly.
If I run :verbose map <
, I see the following
x <nop> * :call UltiSnips#SaveLastVisualSelection()<CR>gvs
Last set from ~/.vim/plugged/ultisnips/autoload/UltiSnips/map_keys.vim line 64
s <nop> * <Esc>:call UltiSnips#ExpandSnippet()<CR>
Last set from ~/.vim/plugged/ultisnips/autoload/UltiSnips/map_keys.vim line 62
And from what I see, the bindings are coming from the snippet files and they're not my mapping, so I was wondering if there's any way for me fix the issue.
Thank you
You have set
g:UltiSnipExpandTrigger="<nop>"
.Line 62 of
ultisnips/blob/master/autoload/UltiSnips/map_keys.vim
:You can see that this does not, in fact, disable a mapping for
g:UltiSnipExpandTrigger
. Instead, it maps the literal keys <nop> to<Esc>:call UltiSnips#ExpandTrigger()<cr>
.Vim is waiting once you type < to see if you will then press nop>. After waiting a period of time, only then will it shift your selection left (how long depends on the value of
'timeoutlen'
).What you need to do is set
g:UltiSnipExpandTrigger
to a different key. If you want to disable it, you could map it to a function key between 13 and 19 (you probably don't have it on your keyboard):