Vim插件 auto-pairs 主要用于高效率完成括号、引号的快速输入和自动补全 (Windows下的很多输入法都具备该能力),达到输入左括号或左引号时自动补齐另一半的效果。例如,使用 auto-pairs 插件,可以在 Vim 插入模式下,输入左大括号后自动补全右大括号;在一对括号之间按回车键,将自动分为 3 行并调整缩进和光标位置。

auto-pairs 插件在 GitHub 上 获得了超过 2000 的标星,其功能类似于Vim教程网(https://vimjc.com)介绍的另外一款Vim插件delimitMate

一、auto-pairs 插件安装方法

auto-pairs 插件托管于 GitHub,因此可使用多种Vim插件安装方法安装该插件。

若使用 Vundle 安装该插件,只需要在 Vim 配置文件 ~/.vimrc 的合适位置添加 Plugin 'jiangmiao/auto-pairs' 后再在 Vim 的命令行模式下执行 :PluginInstall 命令即可完成插件的安装。

若使用 vim-plug 安装该插件,只需在 ~/.vimrc 文件的合适位置添加 Plug 'jiangmiao/auto-pairs' 后再在 Vim 的命令行模式下执行 :PlugInstall 即可完成插件的安装。

若采用手工安装 Vim 插件的方式,可以通过 git clone git://github.com/jiangmiao/auto-pairs.git ~/.vim/bundle/auto-pairs 命令从 GitHub 上下载该插件的源文件到特定目录下。

二、auto-pairs 插件配置选项

auto-pairs 插件的默认配置已经能满足日常的使用需求,本文只简单介绍下该插件提供的几个基本配置选项,更多细节内容请参考插件的官方帮助文档。

g:AutoPairs选项用于设置要自动配对的符号,例如,可通过 let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"'} 设置 ( 对应的配对符号为 )[ 对应的配对符号为 ]{ 对应的配对符号为 } 对应的配对符号为 对应的配对符号为 。以需要新增加自动配对的符号 <> 为例,可以通过 let g:AutoPairs['<']='>' 进行设置。

该选项配合 Vim 的 autocmd 命令,可实现针对不同的文件类型启用不同的自动配对符号补齐规则。例如,针对 PHP 文件,可以在输入完 <? 后自动补齐成 <?│?> ( 表示当前光标所在位置)。

g:AutoPairsMapCR 选项用于指定是否把 ENTER 键 (回车键) 映射为换行并自动缩进,默认值为 1,即等价于 let g:AutoPairsMapCR = 1

g:AutoPairsMapSpace 选项用于指定是否把 SPACE 键 (空格键) 映射为在括号两侧添加空格,默认为1,即等价于 let g:AutoPairsMapSpace = 1

三、auto-pairs 插件功能及示例

auto-pairs 插件的主要功能通过如下的表格进行描述 (表格中 表示当前光标所在位置)。

auto-pairs功能 支持的配对符号 原文本 按键 新文本
成对插入 {}、[]、()、“”、“、” [ [│]
成对删除 {}、[]、()、“”、“、” foo[│] BACKSPACE foo│
删除重复成对符号 {}、[]、()、“”、“、” foo“““│””” BACKSPACE foo│
换行并自动缩进 {}、[]、() node{│} ENTER node{
    │
}
在括号内两侧各插入空格 {}、[]、() foo{│} SPACE foo{ │ }
词后单引号不成对插入 foo│ foo’│
跳过右括号 {}、[]、() [ foo│ ] ] [ foo ]│
在转义符\后禁用插件 {}、[]、()、“”、“、” foo\│ { foo\{│
对字符串加小括号 C语言风格的字符串 │‘foo’ ALT+e (‘foo’)│

为了便于理解,auto-pairs 插件的部分功能如下面的动图所示。

Vim-auto-pairs

《女程序员说》

原创不易,希望能给小女子的公众号加个关注~