Hacking Vim: rainbow(09)

摘要

本文介绍一个括号匹配增强工具 —— rainbow, 对于读、写 Lisp 或者各种括号横飞的语言,非常高效.

简介

众所周知,最复杂的代码都是由一堆乱七八糟的括号组成。这款插件通过以不同的颜色展示不同层次的括号,致力于帮助你阅读这样的复杂代码(Copy自插件官网).

先睹为快

lisp(注意配对括号的颜色):

lisp

更多语言的预览效果,请移步 https://github.com/luochen1990/rainbow/blob/demo/more.md

安装

Note: 请确保已经正确安装了 Pathogen 插件,如果没有安装,请参考 Hacking Vim: 插件管理器Pathogen(02)

本篇文章的代码在 https://github.com/NsLib/blog-vim-proj/tree/rainbow

cd ~/.vim/bundle
git clone https://github.com/luochen1990/rainbow --depth=1
rm -rf ~/.vim/bundle/rainbow/.git

配置

这里给出的是我的配置,可以根据自己的喜好定制:

" rainbow 对于不同的括号,渲染成不同颜色
let g:rainbow_active = 1
let g:rainbow_operators=2
let g:rainbow_conf = {
            \   'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'],
            \   'ctermfgs': ['lightgray', 'lightblue', 'lightmagenta', 'lightcyan'],
            \   'operators': '_,_',
            \   'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'],
            \   'separately': {
            \       '*': {},
            \       'lisp': {
            \           'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'],
            \           'ctermfgs': ['darkgray', 'darkblue', 'darkmagenta', 'darkcyan', 'darkred', 'darkgreen'],
            \       },
            \       'vim': {
            \           'parentheses': [['fu\w* \s*.*)','endfu\w*'], ['for','endfor'], ['while', 'endwhile'], ['if','_elseif\|else_','endif'], ['(',')'], ['\[','\]'], ['{','}']],
            \       },
            \       'tex': {
            \           'parentheses': [['(',')'], ['\[','\]'], ['\\begin{.*}','\\end{.*}']],
            \       },
            \       'css': 0,
            \       'stylus': 0,
            \   }
            \}

下面的说明摘自官网:

  • ‘guifgs’: GUI界面的括号颜色(将按顺序循环使用)
  • ‘ctermfgs’: 终端下的括号颜色(同上,插件将根据环境进行选择)
  • ‘operators’: 描述你希望哪些运算符跟着与它同级的括号一起高亮(见vim帮助 :syn-pattern)
  • ‘parentheses’: 描述哪些模式将被当作括号处理,每一组括号由两个vim正则表达式描述
  • ‘separately’: 针对文件类型(由&ft决定)作不同的配置,未被单独设置的文件类型使用*下的配置,值为0表示仅对该类型禁用插件
  • 省略某个字段以使用默认设置

总结

这个插件主要用来提升我们读代码的效率,更容易的看清楚括号间的关系,一句话,谁用谁知道 XD

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值