提到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還支持寫擴展程序,這裏是一個樣例。