vim ultisnips 在视觉模式下左移时增加了延迟
vim ultisnips adds a delay when left-shifting in visual mode
我最近在 neovim 上安装了 ultisnips 插件,但遇到了问题:
当我启用 ultisnips
时,当我在可视模式下按 <
时,会出现延迟,直到我的行左移,但我使用 >
的右移立即生效.
如果我运行:verbose map <
,我看到下面的
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
据我所知,绑定来自片段文件,它们不是我的映射,所以我想知道是否有任何方法可以解决这个问题。
谢谢
您已设置g:UltiSnipExpandTrigger="<nop>"
.
ultisnips/blob/master/autoload/UltiSnips/map_keys.vim
的第 62 行:
exec "snoremap <silent> " . g:UltiSnipsExpandTrigger . " <Esc>:call UltiSnips#ExpandTrigger()<cr>"
您可以看到,这实际上并没有禁用 g:UltiSnipExpandTrigger
的映射。相反,它映射文字键 <nop> 到 <Esc>:call UltiSnips#ExpandTrigger()<cr>
.
Vim 正在等待您输入 < 以查看您是否会按 no p>。等待一段时间后,才会向左移动你的选择(多长时间取决于'timeoutlen'
的值)。
您需要做的是将 g:UltiSnipExpandTrigger
设置为不同的密钥。如果你想禁用它,你可以将它映射到 13 到 19 之间的功能键(你的键盘上可能没有它):
let g:UltiSnipExpandTrigger = "<F13>"
我最近在 neovim 上安装了 ultisnips 插件,但遇到了问题:
当我启用 ultisnips
时,当我在可视模式下按 <
时,会出现延迟,直到我的行左移,但我使用 >
的右移立即生效.
如果我运行:verbose map <
,我看到下面的
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
据我所知,绑定来自片段文件,它们不是我的映射,所以我想知道是否有任何方法可以解决这个问题。
谢谢
您已设置g:UltiSnipExpandTrigger="<nop>"
.
ultisnips/blob/master/autoload/UltiSnips/map_keys.vim
的第 62 行:
exec "snoremap <silent> " . g:UltiSnipsExpandTrigger . " <Esc>:call UltiSnips#ExpandTrigger()<cr>"
您可以看到,这实际上并没有禁用 g:UltiSnipExpandTrigger
的映射。相反,它映射文字键 <nop> 到 <Esc>:call UltiSnips#ExpandTrigger()<cr>
.
Vim 正在等待您输入 < 以查看您是否会按 no p>。等待一段时间后,才会向左移动你的选择(多长时间取决于'timeoutlen'
的值)。
您需要做的是将 g:UltiSnipExpandTrigger
设置为不同的密钥。如果你想禁用它,你可以将它映射到 13 到 19 之间的功能键(你的键盘上可能没有它):
let g:UltiSnipExpandTrigger = "<F13>"