Vim设置括号自动补全和快速跳出
Posted 我是老邱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim设置括号自动补全和快速跳出相关的知识,希望对你有一定的参考价值。
一、设置括号自动补全
inoremap \' \'\'<ESC>i inoremap " ""<ESC>i inoremap ( ()<ESC>i inoremap [ []<ESC>i inoremap { {<CR>}<ESC>O
其中花括号{设置,自动补全并换行缩进,这在写函数的时候或语句块的时候特别有用。
注:inoremap { {}<ESC>i<CR><ESC>V<O
这句在我的环境中有问题,后来改为
inoremap { {<CR>}<ESC>O
参考:
http://blog.csdn.net/dark_fire/article/details/41970477
http://www.cnblogs.com/lovepurple/p/3373959.html
二、设置自动跳出自动补全的括号
"设置跳出自动补全的括号 func SkipPair() if getline(\'.\')[col(\'.\') - 1] == \')\' || getline(\'.\')[col(\'.\') - 1] == \']\' || getline(\'.\')[col(\'.\') - 1] == \'"\' || getline(\'.\')[col(\'.\') - 1] == "\'" || getline(\'.\')[col(\'.\') - 1] == \'}\' return "\\<ESC>la" else return "\\t" endif endfunc " 将tab键绑定为跳出括号 inoremap <TAB> <c-r>=SkipPair()<CR>
参考:http://blog.csdn.net/larrygoode/article/details/12377977
三、按键映射
主要有map,noremap,unmap,mapclear四个 命令,并且有四个前缀i,c,n,v修饰
nore
表示非递归,见下面的介绍
n
表示在普通模式下生效
v
表示在可视模式下生效
i
表示在插入模式下生效
c
表示在命令行模式下生效
map
表示递归的映射
unmap
表示删除某个映射
mapclear
表示清楚映射
常用命令:
:map :noremap :unmap :mapclear
:nmap :nnoremap :nunmap :nmapclear
:vmap :vnoremap :vunmap :vmapclear
:imap :inoremap :iunmap :imapclear
:cmap :cnoremap :cunmap :cmapclear
参考:http://blog.163.com/lgh_2002/blog/static/44017526201111503947906/
以上是关于Vim设置括号自动补全和快速跳出的主要内容,如果未能解决你的问题,请参考以下文章