提到vim的模糊查找插件,不少人第一反应是ctrlp.vim,ctrlp知名度很高,但跟其它的同类插件相比,它的惟一优势是用vimL编写(这让它的性能是全部同类插件中最差的)。本文向你们推荐一款模糊查找插件——LeaderF,不管是从性能仍是匹配精度上,都远远超越ctrlp。git
LeaderF是一个用Python写的vim插件,能够在成千上万数十万个文件中,经过模糊查找的方式,快速找到目标文件。它还有不少衍生功能:快速打开或定位某个buffer、最近使用的文件(mru)、tags(包括函数、类、变量等)、命令历史、文件中的某一行、vim的help、marks等等。github
文件查找是vimer的经常使用操做,海量文件中快速定位目标文件是不少vimer迫切须要的功能,因此就有了ctrlp这样的插件。但ctrlp性能不佳,并且有时候把目标文件名都输入进搜索栏仍是找不到目标文件,最大的问题是它的模糊匹配算法不佳,常常排在前面的跟所要找的相去甚远。LeaderF采用异步检索和精心设计的模糊匹配算法完美地解决了这些问题,当你在根目录(/
)按下搜索命令,再也没有想剁手的冲动了; 查找文件时,用更少的键击次数就能够找到目标文件, 延长你的键盘使用寿命 :)正则表达式
有了它,tagbar能够淘汰掉了:算法
固然还有其余功能就不一一展现了,感兴趣的小伙伴能够查看这里。vim
智能大小写(smartcase)异步
若是输入的搜索字符都是小写字母,则匹配是大小写不敏感的;若是输入大写字母,则只匹配大写字母,小写字母仍然是大小写不敏感的。例如,输入abcDef
,能够匹配以下字符串:函数
abcDef AbcDef abcDEf aBcDeF
但不能匹配:post
abcdef Abcdef
注意:abc
和ef
仍然是大小写不敏感的
这样能够经过大写字母,在搜索过程当中快速缩小搜索范围。性能
上面全部的功能都不须要额外的配置,只要装好LeaderF插件就可使用了,不像有的插件,配置就像一门新的脚本语言。spa
LeaderF还支持写扩展程序,这里是一个样例。