Vim 即使我不在片段中,UltiSnips 插件也会在插入模式下重新映射 <CR>(回车键)
Vim UltiSnips plugin remaps <CR> (Enter key) in insert mode even when I'm not in a snippet
每当我在插入模式下按 Enter 时,什么也没有发生,这很烦人,您可能会想像到。
我用 :imap
检查了映射,结果是 UltiSnips 映射 <CR>
:
i <CR> * <C-R>=UltiSnips#ExpandSnippetOrJump()<CR>
如果我 iunmap <CR>
,我的回车键又开始工作了,但 UltiSnips 停止工作(我想这是有道理的)。
我没有使用任何预制片段,我只有一个 tex.snippets 文件在工作。我已尝试删除文件中的所有内容,以检查我的代码段定义是否有问题。
所有文件类型都会出现此行为。
这是我的 UltiSnips 配置:
let g:UltiSnipsSnippetsDir = '~/.vim/ultisnips'
let g:UltiSnipsSnippetDirectories = [$HOME.'/.vim/ultisnips']
let g:UltiSnipsExpandTrigger = '<C-m>'
let g:UltiSnipsJumpForwardTrigger = '<C-m>'
let g:UltiSnipsJumpBackwardTrigger = '<C-n>'
let g:UltiSnipsEditSplit = "vertical"
为什么 UltiSnips 映射 <CR>
的功能?
感谢您对此的任何帮助,因为这使我无法使用 UltiSnips。
那是因为<CTRL-M>
和<CR>
(回车)一样,见:help keycodes
notation meaning equivalent decimal value(s) ~
-----------------------------------------------------------------------
...
<Tab> tab CTRL-I 9 *tab* *Tab*
*linefeed*
...
<CR> carriage return CTRL-M 13 *carriage-return*
<Return> same as <CR> *<Return>*
<Enter> same as <CR> *<Enter>*
<Esc> escape CTRL-[ 27 *escape* *<Esc>*
...
同理,例如CTRL-I
表示tab
,Ctrl-[
表示Esc
。所以你实际上是这样配置的 - let g:UltiSnipsExpandTrigger = '<C-m>'
.
每当我在插入模式下按 Enter 时,什么也没有发生,这很烦人,您可能会想像到。
我用 :imap
检查了映射,结果是 UltiSnips 映射 <CR>
:
i <CR> * <C-R>=UltiSnips#ExpandSnippetOrJump()<CR>
如果我 iunmap <CR>
,我的回车键又开始工作了,但 UltiSnips 停止工作(我想这是有道理的)。
我没有使用任何预制片段,我只有一个 tex.snippets 文件在工作。我已尝试删除文件中的所有内容,以检查我的代码段定义是否有问题。
所有文件类型都会出现此行为。
这是我的 UltiSnips 配置:
let g:UltiSnipsSnippetsDir = '~/.vim/ultisnips'
let g:UltiSnipsSnippetDirectories = [$HOME.'/.vim/ultisnips']
let g:UltiSnipsExpandTrigger = '<C-m>'
let g:UltiSnipsJumpForwardTrigger = '<C-m>'
let g:UltiSnipsJumpBackwardTrigger = '<C-n>'
let g:UltiSnipsEditSplit = "vertical"
为什么 UltiSnips 映射 <CR>
的功能?
感谢您对此的任何帮助,因为这使我无法使用 UltiSnips。
那是因为<CTRL-M>
和<CR>
(回车)一样,见:help keycodes
notation meaning equivalent decimal value(s) ~
-----------------------------------------------------------------------
...
<Tab> tab CTRL-I 9 *tab* *Tab*
*linefeed*
...
<CR> carriage return CTRL-M 13 *carriage-return*
<Return> same as <CR> *<Return>*
<Enter> same as <CR> *<Enter>*
<Esc> escape CTRL-[ 27 *escape* *<Esc>*
...
同理,例如CTRL-I
表示tab
,Ctrl-[
表示Esc
。所以你实际上是这样配置的 - let g:UltiSnipsExpandTrigger = '<C-m>'
.