使nvim弹出菜单仅显示一个字符

时间:2019-01-01 22:17:16

标签: vim autocomplete popup neovim

此刻我正在将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,则不会显示任何内容:

2 characters

如果我输入482,则会得到自动完成菜单:

3 characters

这是非常一致的行为。在处理以数字开头的文件名时,我至少注意到得最多。

所以问题是我是否可以

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”标签)。

1 个答案:

答案 0 :(得分:1)

尝试在您的init.vim中明确设置:

let g:ncm2#complete_length=[[1,1],[7,2]]  

因此,此值表示优先级在1到6之间的源将具有1的值,而优先级> = 7的源将具有2的值。