You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vim报错E716:字典中无对应键的解决方案咨询

解决方案:Vim LSP插件报错E716: Key not present in Dictionary

错误信息

Error detected while processing function 35_debounceTimeTimerCallback[1]..35_tapSourceCallback[4]..35_tapSourceCallback[1]..30[1]..55_set_signs[10]..55_place_signs:
line 5:
E716: Key not present in Dictionary: linecount + 1

排查与解决步骤

  • 更新插件到最新版本
    这个错误大概率是插件旧版本的bug,执行Vim命令更新插件:

    :PlugUpdate
    

    更新完成后重启Vim,看错误是否消失。

  • 确认Go语言LSP服务(gopls)已正确安装
    vim-lsp-settings依赖对应语言的LSP服务才能正常工作,安装gopls:

    go install golang.org/x/tools/gopls@latest
    

    安装完成后,执行gopls version验证服务是否可用。

  • 排查插件冲突
    临时注释掉.vimrc中的Plug 'mattn/vim-lsp-settings',保存后重启Vim:

    call plug#begin('~/.vim/plugged')
    Plug 'prabirshrestha/vim-lsp'
    " Plug 'mattn/vim-lsp-settings'
    call plug#end()
    

    如果错误不再出现,说明问题出在vim-lsp-settings插件,可以改用手动配置LSP:
    在.vimrc中添加gopls的手动配置:

    call plug#begin('~/.vim/plugged')
    Plug 'prabirshrestha/vim-lsp'
    call plug#end()
    
    au User lsp_setup call lsp#register_server({
        \ 'name': 'gopls',
        \ 'cmd': {server_info->['gopls']},
        \ 'allowlist': ['go'],
        \ })
    
  • 检查Vim版本兼容性
    vim-lsp要求Vim版本至少为8.1,执行:version查看当前版本,若版本过低则升级到最新稳定版。

  • 清理插件缓存与临时文件
    若以上步骤无效,删除插件目录重新安装:

    rm -rf ~/.vim/plugged
    

    重启Vim后执行:PlugInstall重新安装插件,同时可清除Vim的临时文件(如*.swp、*.undo等)。

内容的提问来源于stack exchange,提问作者Yoshitaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 06:55:20