vim 括号等 自动匹配

写入 /etc/vimrc
inoremap ( ()<Esc>i  
inoremap [ []<Esc>i  
inoremap { {<CR>}<Esc>O  
autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>  
inoremap ) <c-r>=ClosePair(')')<CR>  
inoremap ] <c-r>=ClosePair(']')<CR>  
inoremap } <c-r>=CloseBracket()<CR>  
inoremap " <c-r>=QuoteDelim('"')<CR>  
inoremap ' <c-r>=QuoteDelim("'")<CR>  
   
function ClosePair(char)  
if getline('.')[col('.') - 1] == a:char  
return "\<Right>"  
else  
return a:char  
endif  
endf  
   
function CloseBracket()  
if match(getline(line('.') + 1), '\s*}') < 0  
return "\<CR>}"  
else  
return "\<Esc>j0f}a"  
endif  
endf  
   
function QuoteDelim(char)  
let line = getline('.')  
let col = col('.')  
if line[col - 2] == "\\"  
"Inserting a quoted quotation mark into the string  
return a:char  
elseif line[col - 1] == a:char  
"Escaping out of the string  
return "\<Right>"  
else  
"Starting a string  
return a:char.a:char."\<Esc>i"  
endif  
endf  
----------------分割线---------------------
另一种方法
inoremap ( ()<LEFT>

inoremap { {}<LEFT>

inoremap [ []<LEFT>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值