Vim按ENTER键自动补全失效,光标直接跳转至下一行
解决Vim自动补全按ENTER无法完成的问题
从你的描述和配置来看,问题出在ENTER键未关联补全确认动作:默认情况下Vim内置补全弹窗需要按<C-y>(Ctrl+Y)完成选择,而ENTER仅执行换行。以下是具体修复方案:
1. 添加ENTER键补全映射
在你的.vimrc中插入以下配置,让ENTER键在补全弹窗显示时自动完成选择,否则保持正常换行:
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"
2. 排查插件冲突(针对Coc.nvim)
你的配置中启用了Coc.nvim插件,若使用的是Coc提供的补全功能,替换上面的映射为Coc专属配置:
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "\<CR>"
同时检查Coc设置文件(~/.config/nvim/coc-settings.json),确保开启回车选择:
{ "suggest.selectEnter": true }
3. 临时验证方法
在补全弹窗出现时,先手动按<C-y>测试能否完成补全。如果可以,说明核心问题就是ENTER键的映射未配置,添加上述映射即可解决。
内容的提问来源于stack exchange,提问作者vidola
相关产品推荐
相关产品推荐

