Vim中当cword匹配自动补全值时,如何用<Enter>键跳过补全对话框?
解决Vim中按无法换行、自动补全弹窗持续显示的问题
我太懂这种烦人的情况了——每次想换行敲
问题根源
大概率是你的补全工具(不管是Vim自带的补全功能,还是YouCompleteMe这类第三方插件)把
针对性解决办法
根据你用的补全工具,选对应的配置修改:
1. 用Vim自带的补全(Omni-completion)
在你的.vimrc里添加这段配置,让补全弹窗存在时,按
inoremap <expr> <CR> pumvisible() ? "\<C-e>\<CR>" : "\<CR>"
解释一下:pumvisible()判断补全弹窗是否显示,如果是,先按<C-e>关闭弹窗,再执行换行;如果没有弹窗,直接换行。
2. 用第三方补全插件(比如YouCompleteMe)
找到插件的快捷键配置,把<C-j>)。在.vimrc里加:
let g:ycm_key_list_select_completion = ['<C-j>'] let g:ycm_key_list_previous_completion = ['<C-k>']
这样
3. 更优雅的临时操作
你现在用的「空格+回车」虽然能用,但可以试试按<C-e>直接关闭补全弹窗,之后再按
内容的提问来源于stack exchange,提问作者Vadim Shvetsov
相关产品推荐
相关产品推荐

