vim中输入左边括号后自动完成另一半的方法

jackxiang 2009-2-18 19:07 | |

好像很多编辑器里都有括号自动完成这样的功能,比如,输入左边括号"("后自动完成")",并把光标定位到两个括号中间,vim通过简单的键映射也可以做到.
以下是我在 O'Reilly Network 看到的一篇文章里学到的,把以下代码拷贝到.vimrc文件里


:inoremap ( ()i
:inoremap ) =ClosePair(')')
:inoremap { {}i
:inoremap } =ClosePair('}')
:inoremap [ []i
:inoremap ] =ClosePair(']')

function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\"
else
return a:char
endif
endf

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/1636/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]