让人相见恨晚的vim插件:模糊查找神器LeaderF
vim吧
全部回复
仅看楼主
level 1
Yggdroot 楼主
提到vim的模糊查找插件,很多人第一反应是ctrlp.vim,ctrlp知名度很高,但跟其它的同类插件相比,它的唯一优点是用vimL编写(这让它的性能是所有同类插件中最差的)。本文向大家推荐一款模糊查找插件——[LeaderF][1],无论是从性能还是匹配精度上,都远远超越ctrlp。
## [LeaderF][1]是什么?
LeaderF是一个用Python写的vim插件,可以在成千上万数十万个文件中,通过模糊查找的方式,快速找到目标文件。它还有很多衍生功能:快速打开或定位某个buffer、最近使用的文件(mru)、tags(包括函数、类、变量等)、命令历史、文件中的某一行、vim的help、marks等等。
### 查找文件
文件查找是vimer的常用操作,海量文件中快速定位目标文件是很多vimer迫切需要的功能,所以就有了ctrlp这样的插件。但ctrlp性能不佳,而且有时候把目标文件名都输入进搜索栏还是找不到目标文件,最大的问题是它的模糊匹配算法不佳,经常排在前面的跟所要找的相去甚远。LeaderF采用异步检索和精心设计的模糊匹配算法完美地解决了这些问题,当你在根目录(`/`)按下搜索命令,再也没有想剁手的冲动了; 查找文件时,用更少的键击次数就可以找到目标文件, 延长你的键盘使用寿命 :)
- 异步检索
![异步检索](
?imageMogr2/auto-orient/strip)
- 模糊查找
![模糊查找](
?imageMogr2/auto-orient/strip)
- 正则表达式查找
![正则](
?imageMogr2/auto-orient/strip)
- 多字节字符查找(中文查找)
![中文](
?imageMogr2/auto-orient/strip)
### 快速定位tags(包括函数、类、变量等)
有了它,tagbar可以淘汰掉了:
![tags](
?imageMogr2/auto-orient/strip)
### 查找历史命令
![History](
?imageMogr2/auto-orient/strip)
### 切换Colorscheme
![Colorscheme](
?imageMogr2/auto-orient/strip)
------
当然还有其他功能就不一一展示了,感兴趣的小伙伴可以查看[这里][2]。
### 你不知道的细节
- 智能大小写(smartcase)
如果输入的搜索字符都是小写字母,则匹配是大小写不敏感的;如果输入大写字母,则只匹配大写字母,小写字母仍然是大小写不敏感的。例如,输入`abcDef`,可以匹配如下字符串:
```
abcDef
AbcDef
abcDEf
aBcDeF
```
但不能匹配:
```
abcdef
Abcdef
```
**注意**:`abc`和`ef`仍然是大小写不敏感的
这样可以通过大写字母,在搜索过程中快速缩小搜索范围。
- 同时打开多个文件
![同时打开多个文件](
?imageMogr2/auto-orient/strip)
- 细化搜索结果
![细化搜索结果](
?imageMogr2/auto-orient/strip)
### 开箱即用
上面所有的功能都不需要额外的配置,只要装好LeaderF插件就可以使用了,不像有的插件,配置就像一门新的脚本语言。
## 最后
LeaderF还支持写扩展程序,[这里][3]是一个样例。
友情链接:[LeaderF,也許是Vim最好的模糊查詢插件][4]
[1]: https://github.com/Yggdroot/LeaderF
[2]: https://github.com/Yggdroot/LeaderF/blob/master/README.md
[3]: https://github.com/Yggdroot/LeaderF-marks
[4]: https://0x3f.org/post/leaderf-currently-the-best-fuzzy-finder-of-vim/
2017年09月08日 02点09分 1
level 15
前排
围观作者,是时候用一下了
2017年09月08日 11点09分 2
level 5
不错,赶紧试试[吐舌]
2017年09月16日 16点09分 3
在终端下,ctrl-s默认是锁定终端,ctrl-q解锁。所以终端下无法多文件选择……虽然这功能我应该不常用[阴险]
2017年09月16日 22点09分
@Saroth ctrl-s 这个键感觉没有用,而且有时候不小心按到就跟死机一样(当然ctrl-q可以解锁),所以我电脑是就是禁掉的,我在.bashrc里面设了:stty -ixoff -ixon
2017年09月17日 09点09分
1