无法弄清楚一些vimrc设置

时间:2012-03-10 07:48:58

标签: vim

我在vimrc文件中遇到了以下几行,无法弄清楚他们应该做什么或他们应该如何工作。因使用$符号而被抛弃。它是否有任何特殊含义,或者像其他角色一样以常规方式使用?

" Parenthesis/bracket expanding
vnoremap $1 <esc>`>a)<esc>`<i(<esc>
vnoremap $2 <esc>`>a]<esc>`<i[<esc>
vnoremap $3 <esc>`>a}<esc>`<i{<esc>
vnoremap $$ <esc>`>a"<esc>`<i"<esc>
vnoremap $q <esc>`>a'<esc>`<i'<esc>
vnoremap $e <esc>`>a"<esc>`<i"<esc>

" Map auto complete of (, ", ', [
inoremap $1 ()<esc>i
inoremap $2 []<esc>i
inoremap $3 {}<esc>i
inoremap $4 {<esc>o}<esc>O
inoremap $q ''<esc>i
inoremap $e ""<esc>i
inoremap $t <><esc>i

如果有人有兴趣的话。 This是vimrc的链接

1 个答案:

答案 0 :(得分:8)

只看其中两个。

第一个是visual-mode mapping

" Parenthesis/bracket expanding
vnoremap $1 <esc>`>a)<esc>`<i(<esc>

当您键入 $ 1 时,这会将选择包装在()中。首先,它跳到选择的结尾('>)和append sa ),然后跳到选择的开头('<)和insert (

这是insert-mode mapping

" Map auto complete of (, ", ', [
inoremap $1 ()<esc>i

当您键入 $ 1 时,会插入(),并将光标留在两个括号之间。