繁体   English   中英

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 ultisnips/blob/master/autoload/UltiSnips/map_keys.vim

exec "snoremap <silent> " . g:UltiSnipsExpandTrigger . " <Esc>:call UltiSnips#ExpandTrigger()<cr>"

您可以看到这实际上并没有禁用g:UltiSnipExpandTrigger的映射。 相反,它将文字键< n o p >映射到<Esc>:call UltiSnips#ExpandTrigger()<cr>

一旦你输入< ,Vim 就会等待,看看你是否会按下n o p > 等待一段时间后,它才会将您的选择向左移动(多长时间取决于'timeoutlen'的值)。

您需要做的是将g:UltiSnipExpandTrigger设置为不同的键。 如果你想禁用它,你可以将它映射到 13 到 19 之间的功能键(你的键盘上可能没有它):

let g:UltiSnipExpandTrigger = "<F13>"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM