VIM自动补全成对括号引号时小括号()补全不成功,求大神解答
发表于 : 2014-09-30 15:28
往.vimrc添加代码如下
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap < <><ESC>i
:inoremap > <c-r>=ClosePair('>')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
[ ] { } ' ' " "这4个补全都可以实现就是()无法实现补全,尝试了很多其他补全代码,都是就小括号()这个功能无法实现,请大神分析下原因,难道时()按键有其他设置?我看了下。vimrc好像没有对小括号有其他设置的。[/size]
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap < <><ESC>i
:inoremap > <c-r>=ClosePair('>')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
[ ] { } ' ' " "这4个补全都可以实现就是()无法实现补全,尝试了很多其他补全代码,都是就小括号()这个功能无法实现,请大神分析下原因,难道时()按键有其他设置?我看了下。vimrc好像没有对小括号有其他设置的。[/size]