Neovim下拉补全无图标问题求助(已装NerdFont与NerTree)
解决Neovim补全列表不显示图标问题
核心问题分析
你的配置同时启用了nvim-cmp和coc.nvim两套补全框架,功能重叠导致配置混乱;当前实际生效的是coc.nvim,但未配置图标显示逻辑,且nvim-cmp也缺少图标插件和对应配置。另外,你注释掉了guifont设置,可能导致终端无法正确加载已安装的Nerd Font。
方案一:继续使用coc.nvim补全
添加coc图标扩展
在g:coc_global_extensions中加入coc-devicons,修改后如下:let g:coc_global_extensions = ['coc-tslint-plugin', 'coc-tsserver', 'coc-css', 'coc-html', 'coc-json', 'coc-prettier', 'coc-python', 'coc-pyright', 'coc-devicons']启用coc补全图标显示
在配置中添加以下内容:" 启用coc-devicons图标支持 let g:coc_devicons_enable = 1 " 开启补全列表图标显示 let g:coc_pum_icon_enable = 1确保字体生效
取消注释你的guifont设置,选择已安装的Nerd Font,比如:set guifont=DroidSansMono\ Nerd\ Font\ 12
方案二:转用nvim-cmp(Neovim原生生态推荐)
coc.nvim是Vim时代的补全框架,nvim-cmp更适配Neovim,建议切换:
移除coc相关配置
删除以下内容:- Plug块中的
Plug 'neoclide/coc.nvim', {'branch': 'release'} let g:coc_global_extensions = [...]- 所有coc相关的快捷键映射(
<TAB>、<S-TAB>、<CR>的inoremap配置) function! CheckBackspace() abort...函数
- Plug块中的
添加nvim-cmp图标插件
在Plug块中加入:Plug 'onsails/lspkind.nvim'配置nvim-cmp显示图标
替换原有的nvim-cmp配置块为以下Lua代码(放入你的lua <<EOF ... EOF块中):local cmp = require'cmp' local lspkind = require'lspkind' cmp.setup({ formatting = { format = lspkind.cmp_format({ mode = 'symbol_text', -- 显示图标+文本 maxwidth = 50, ellipsis_char = '...', }) }, mapping = cmp.mapping.preset.insert({ ['<Tab>'] = cmp.mapping.select_next_item(), ['<S-Tab>'] = cmp.mapping.select_prev_item(), ['<CR>'] = cmp.mapping.confirm({ select = true }), }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'buffer' }, { name = 'path' }, }) }) -- 配置命令行补全 cmp.setup.cmdline('/', { sources = { { name = 'buffer' } } }) cmp.setup.cmdline(':', { sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline' } }) })关联LSP与nvim-cmp
在Lua块中添加LSP配置示例:local lspconfig = require'lspconfig' local cmp_nvim_lsp = require'cmp_nvim_lsp' -- 为LSP启用补全支持 local capabilities = cmp_nvim_lsp.default_capabilities() lspconfig.pyright.setup({ capabilities = capabilities }) lspconfig.tsserver.setup({ capabilities = capabilities }) -- 其他需要的LSP服务可按此格式配置
最后操作
- 保存配置后重启Neovim
- 执行
:PlugInstall安装新插件 - 打开对应文件测试补全图标是否显示
内容的提问来源于stack exchange,提问作者D Liebman
相关产品推荐
相关产品推荐

