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

如何配置vim-autopairs跳过单词前的闭合双引号?

解决vim-autopairs在单词前自动补全双引号的问题

我之前也被这个问题烦过好一阵!vim-autopairs默认的引号补全规则有时候太“积极”,刚好你遇到的双引号在单词前自动补全的情况,完全可以通过自定义规则来精准解决,而且不会影响单引号的正常功能。

直接在你的.vimrc或者init.vim里添加下面这段配置就行:

" 自定义双引号配对规则:仅当前面不是单词字符时才自动补全闭合引号
let g:autopairs_rules = [
    \ {'open': '"', 'close': '"', 'filetypes': ['*'], 'condition': function('CheckNoWordBefore')},
    \ ]

function! CheckNoWordBefore()
    " 获取光标前一个字符(注意col('.')-2是因为光标当前在输入位置,前一位是col-2)
    let prev_char = getline('.')[col('.')-2]
    " 如果前一个字符是单词字符(字母、数字、下划线),返回0(不触发补全)
    " 否则返回1(正常触发补全)
    return !prev_char =~# '\w'
endfunction

简单解释下这段配置:

  • 我们重新定义了双引号的配对规则,给它加了一个condition(条件)判断函数CheckNoWordBefore。
  • 当你输入双引号时,插件会先检查光标前的字符:如果是字母、数字或者下划线这类单词字符,就不会自动插入闭合的双引号;如果是空格、标点符号或者行首位置,依然会正常补全闭合引号,完全符合日常输入习惯。
  • 单引号的默认配对规则没有被修改,所以还是会保持你之前正常的使用状态。

配置完之后重启Vim或者执行:source %生效,之后在单词前输入双引号就不会自动补全闭合的那个了,不用再按退格键删除,舒服多了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:28:14