基本配置–常见符号的补全、匹配、跳转
这里的常见符号指()
、{}
、''
、""
等。为实现这些符号的补全、匹配、跳转功能,可以通过一些简单的vim设置来做到,如下
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"自动补全括号及高亮显示匹配括号
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set showmatch " 高亮显示匹配的括号
set matchpairs+=<:> " specially for html
set matchtime=1 " 匹配括号高亮的时间(单位是十分之一秒)
"自动补全括号
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
: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
endfunction
当然,也有一些vim插件来完成上述功能,
vim-scripts/matchit.zip:快速匹配() [] {} 等,还可以匹配单词,如html标签。
Raimondi/delimitMate:自动补全:(), [], {}, <>
jiangmiao/auto-pairs:与上插件类似,不过要慢一些,但功能也更为强大。
rainbow_parentheses.vim:为不同层级的括号显示不同的颜色。