vim的括号自动补全

  • 九月 1st, 2007

vim的自动补全功能很强大,如c-x,c-o,c-x,c-L等都很实用。但有个小缺陷,就是vim不支持括号的自动补全,例如我们在输入函数的时候常常一次把函数的括号输入然后再倒退一格进入括号内进行编辑,这个习惯很好,防止比较长的函数后忘了括号,不过vim可以自动完成这个功能,让你爱不释手。这一小段代码就可以搞定:

下载: buquan.vim
<?php
:
inoremap ( ()<ESC>i
:
inoremap ) <c-r>=ClosePair(')')<CR>
:
inoremap { {}<ESC>i
:
inoremap } <c-r>=ClosePair('}')<CR>
:
inoremap [ []<ESC>i
:
inoremap ] <c-r>=ClosePair(']')<CR>
 
function ClosePair(char)
    
if getline('.')[col('.') - 1] == a:char
        
return "<Right>"
    
else
        
return a:char
    
endif
endf

给我回复

为了防止垃圾评论,请输入答案:3+12=