鼠标悬停代码触发的Vim动作命令名称及快捷方式创建咨询
Vim鼠标悬停触发代码提示/错误信息的实现方案
原生Vim没有直接对应"鼠标悬停触发动作"的内置映射,但可以通过插件+自定义配置实现你要的效果,分场景说明:
一、悬停查看编译/语法错误详情
如果用Vim内置错误列表,或者语法检查插件,可这么配置:
- 先装
ale或vim-signify这类语法检查插件,它们会把错误标记在代码旁 - 在
.vimrc里加自动命令,鼠标悬停到错误行时弹出详情:autocmd CursorMoved * if get(b:, 'ale_enabled', 0) | call ale#cursor#ShowCursorDetail() | endif - 要是用
coc.nvim这类LSP插件,直接开启内置悬停:autocmd CursorHold * silent call CocActionAsync('showHover')
二、悬停查看函数参数/定义
这个得靠LSP(语言服务器协议)插件实现,比如coc.nvim、nvim-lspconfig:
- 以
coc.nvim为例,只要配置好对应语言的服务器(比如pyright、gopls),加下面的配置就能自动在悬停时显示函数签名、参数说明:set updatetime=300 " 缩短悬停触发的延迟时间 autocmd CursorHold * silent call CocActionAsync('showHover') - 不想用LSP的话,也可以用
tagbar+vim-mousehover插件自定义映射,但信息丰富度远不如LSP。
关于:actionlist找不到对应动作的原因
:actionlist里都是Vim内置的窗口、缓冲区操作类动作,你要的悬停触发属于代码语义分析相关功能,原生Vim没内置这类动作,必须靠插件扩展。
内容的提问来源于stack exchange,提问作者Vito
相关产品推荐
相关产品推荐

