vim(gvim)支持对齐线

2012-05-18 03:40

vim(gvim)支持对齐线

by Dante

at 2012-05-17 19:40:36

original http://www.vimer.cn/2012/05/vimgvim%e6%94%af%e6%8c%81%e5%af%b9%e9%bd%90%e7%ba%bf.html

前段时间有朋友在微博上@我推荐了一款vim的插件,用来显示对齐线,感觉效果不错,就给大家推荐一下.
下载链接: Indent Guides

截图如下:

1

一. 安装
不用多说,直接解压放到vimfiles or .vim下

二. 配置
基本可以不用配置,不过由于默认的对齐线宽度太宽,不太美观,所以我改成1了,如下

1
let g:indent_guides_guide_size=1

详细的配置,可以参看他的文档,这里不再多说

三. 使用
默认的键盘映射是

1
<mapleader>ig

OK,插件就介绍到这里,其实如果只是单纯的介绍插件,就不用写这篇文章了。
我在用这个插件的时候,又发现了另一个需求,即标尺的功能。vim7.3里面默认提供了colorcolumn,例如执行:

1
:set cc=80

就可以高亮第80列,效果如下:

1

但是有时候我们想看一下几行的字符是不是在同一列上时,手工去输入列数实在太麻烦了,所以我就单独写了一个函数,来满足这个需求:

1
2
3
4
5
6
7
8
9
10
map ,ch :call SetColorColumn()<CR>
function! SetColorColumn()
    let col_num = virtcol(".")
    let cc_list = split(&cc, ',')
    if count(cc_list, string(col_num)) <= 0
        execute "set cc+=".col_num
    else
        execute "set cc-=".col_num
    endif
endfunction

按下,ch 就可以将当前光标下的列高亮,再按下一次,取消高亮;并且可以同时多列高亮。

这两个工具搭配在一起使用,相信会取得更好的效果。

OK,就是这样~