此刻我正在将NCM2用作自动完成插件,但是我不确定问题出在一般弹出菜单还是NCM2。
当我尝试自动完成文件名时,仅在我输入至少3个字符后才会显示弹出菜单。即使多余的第三个字符不会限制建议。
例如,我有以下目录:
- 4822283_ERCOFTAC_m3c1_SST.dat
- 4822299_ERCOFTAC_m3c1_SBES.log
- 4822299_FluentSBES.jou
- ERCOFTAC_m3c1_SBES.cas
- ERCOFTAC_m3c1_SBES.o4822299
- fluentSBES.sh
如果我输入48
,则不会显示任何内容:
如果我输入482
,则会得到自动完成菜单:
这是非常一致的行为。在处理以数字开头的文件名时,我至少注意到得最多。
所以问题是我是否可以
A)更改自动完成菜单显示或
所需的字符数B)查找打开自动完成菜单的任何快捷方式(类似于VS Code中的“触发建议”命令)
您可以看到我的init.vim
here的副本。
Yedhin的答案解决了方法A),但是,这也会导致自动弹出菜单始终打开,说实话,这真令人讨厌。
对于寻址项目B)(这是理想的),我找到了ncm2_manual_trigger
函数。因此,从理论上讲,通过将以下内容置于init.vim
中,您可以随时手动触发自动弹出窗口。
let g:ncm2#auto_popup = 0
imap <C-a> <Plug>(ncm2_manual_trigger)
但是,如this issue posted on the ncm2 repo中所述,manual_trigger仍然依赖于ncm2#complete_length
参数来确定要显示的内容。如果自动触发尚未触发弹出菜单,则这将导致手动触发不显示弹出菜单。我们只需要暂时等待问题解决即可(在撰写本文时,应该很快就确定问题的“ my-next-task”标签)。
答案 0 :(得分:1)
尝试在您的init.vim中明确设置:
let g:ncm2#complete_length=[[1,1],[7,2]]
因此,此值表示优先级在1到6之间的源将具有1的值,而优先级> = 7的源将具有2的值。