Bootstrap

Vim 中实现括号自动补全

通过配置vim的启动脚本 .vimrc来实现,代码如下:

   1:  
   2: :inoremap ( ()<ESC>i
   3: :inoremap ) <c-r>=ClosePair(')')<CR>
   4: :inoremap { {<ESC>o    <ESC>o}<ESC>ka
   5: :inoremap } <c-r>=ClosePair('}')<CR>
   6: :inoremap [ []<ESC>i
   7: :inoremap ] <c-r>=ClosePair(']')<CR>
   8: :inoremap < <><ESC>i
   9: :inoremap > <c-r>=ClosePair('>')<CR>
  10: :inoremap " ""<ESC>i
  11: :inoremap ' ''<ESC>i
  12:  
  13: function ClosePair(char) 
  14: if getline('.')[col('.') - 1] == a:char
  15: return "/<Right>"
  16: else 
  17: return a:char
  18: endif 
  19: endf
代码说明:
实现的功能主要有( [ { ‘ “ 自动补全。( [  ‘ “ 补全后光标在中间,{补全时插入一个空行,并把光标置于空行,并自动缩进。
inoremap命令实现插入模式下的按键映射。
参考资料: http://blog.csdn.net/firebird321/archive/2009/10/21/4710934.aspx
                       http://www.ibm.com/developerworks/cn/linux/l-vim-script-1/

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;