如何让coc.nvim在行内任意光标位置显示linting弹窗?
解决coc.nvim行内任意位置显示错误/警告弹窗的问题
我之前从ALE转用coc.nvim的时候也碰到过一模一样的困扰——默认得精准点到错误下划线才会弹出提示,确实有点影响操作流畅度。这里分享几个实用的解决办法,帮你实现行内任意光标位置都能查看诊断信息:
方法1:修改hover触发目标为整行
这是最贴合你需求的方案,直接通过配置让coc.nvim的hover弹窗在光标处于当前行任意位置时触发。
- 在Vim中输入
:CocConfig打开coc的配置文件(coc-settings.json) - 添加以下配置项:
"coc.preferences.hoverTarget": "line"
默认的hoverTarget值是word,只会在光标定位到错误的单词/下划线区域时显示弹窗;改成line后,只要光标在包含错误的行上,不管处于行内哪个位置,hover时都会弹出该行的诊断提示。
方法2:绑定快捷键快速查看当前行诊断
如果不想改动hover的默认行为,也可以给「查看当前行诊断」绑定一个专属快捷键,随时调用更灵活。
在你的vimrc或init.vim中添加以下映射:
nnoremap <silent> <leader>cd :call CocAction('diagnosticInfo')<CR>
之后,只要光标在目标行上,按下<leader>cd(<leader>默认是反斜杠\,你也可以改成自己习惯的按键),就能立即弹出当前行的所有错误和警告信息,不用依赖hover操作。
额外优化小技巧
如果希望弹窗能更及时地响应,还可以调整hover的延迟时间,比如设置为0让弹窗立即显示:
"coc.preferences.hoverDuration": 0
内容的提问来源于stack exchange,提问作者Adithya Sama
相关产品推荐
相关产品推荐

