资讯专栏INFORMATION COLUMN

让人相见恨晚的vim插件:模糊查找神器LeaderF

Near_Li / 557人阅读

摘要:是什么是一个用写的插件,可以在成千上万数十万个文件中,通过模糊查找的方式,快速找到目标文件。它还有很多衍生功能快速打开或定位某个最近使用的文件包括函数类变量等命令历史文件中的某一行的等等。友情链接,也許是最好的模糊查詢插件

提到vim的模糊查找插件,很多人第一反应是ctrlp.vim,ctrlp知名度很高,但跟其它的同类插件相比,它的唯一优点是用vimL编写(这让它的性能是所有同类插件中最差的)。本文向大家推荐一款模糊查找插件——LeaderF,无论是从性能还是匹配精度上,都远远超越ctrlp。

LeaderF是什么?

LeaderF是一个用Python写的vim插件,可以在成千上万数十万个文件中,通过模糊查找的方式,快速找到目标文件。它还有很多衍生功能:快速打开或定位某个buffer、最近使用的文件(mru)、tags(包括函数、类、变量等)、命令历史、文件中的某一行、vim的help、marks等等。

查找文件

文件查找是vimer的常用操作,海量文件中快速定位目标文件是很多vimer迫切需要的功能,所以就有了ctrlp这样的插件。但ctrlp性能不佳,而且有时候把目标文件名都输入进搜索栏还是找不到目标文件,最大的问题是它的模糊匹配算法不佳,经常排在前面的跟所要找的相去甚远。LeaderF采用异步检索和精心设计的模糊匹配算法完美地解决了这些问题,当你在根目录(/)按下搜索命令,再也没有想剁手的冲动了; 查找文件时,用更少的键击次数就可以找到目标文件, 延长你的键盘使用寿命 :)

异步检索

模糊查找

正则表达式查找

多字节字符查找(中文查找)

快速定位tags(包括函数、类、变量等)

有了它,tagbar可以淘汰掉了:

查找历史命令

切换Colorscheme


当然还有其他功能就不一一展示了,感兴趣的小伙伴可以查看这里。

你不知道的细节

智能大小写(smartcase)

如果输入的搜索字符都是小写字母,则匹配是大小写不敏感的;如果输入大写字母,则只匹配大写字母,小写字母仍然是大小写不敏感的。例如,输入abcDef,可以匹配如下字符串:

abcDef
AbcDef
abcDEf
aBcDeF

但不能匹配:

abcdef
Abcdef

注意abcef仍然是大小写不敏感的
这样可以通过大写字母,在搜索过程中快速缩小搜索范围。

同时打开多个文件

细化搜索结果

开箱即用

上面所有的功能都不需要额外的配置,只要装好LeaderF插件就可以使用了,不像有的插件,配置就像一门新的脚本语言。

最后

LeaderF还支持写扩展程序,这里是一个样例。

友情链接:LeaderF,也許是Vim最好的模糊查詢插件

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24962.html

相关文章

  • vim模糊查找插件LeaderF新功能介绍

    摘要:前言上一篇文章让人相见恨晚的插件模糊查找神器概括性的介绍了的基本功能,本篇对的新功能做一下介绍。空格分隔的每个子串都是对整个字符串的模糊匹配,而不是精确匹配。 前言 上一篇文章《让人相见恨晚的vim插件:模糊查找神器LeaderF》概括性的介绍了LeaderF的基本功能,本篇对LeaderF的新功能做一下介绍。 统一的命令接口 随着LeaderF功能的不断增多,LeaderF的命令也在...

    junnplus 评论0 收藏0
  • `Leaderf gtags`:模糊匹配与最强静态符号索引工具完美结合

    摘要:也就是,是一个非常强大的源码符号索引工具。韦大的中符号索引篇对有比较详细的介绍,本文再做一些补充。的最新版本已经是,该版本了韦大文中提到的下面文件名大小写的。 Gtags Gtags也就是GNU GLOBAL,是一个非常强大的源码符号索引工具。它通过建立索引数据库,不但可以查找函数的定义,还可以查找函数的所有引用(被调用的地方);而且它还可以增量地更新索引数据库,当代码有所改变时,它可...

    hsluoyz 评论0 收藏0
  • VIM模糊搜索神器FZF集成用法 - 从简单到高级

    摘要:比如下表是它可用的所有选项是一个函数,用来创建自己的自动补全功能。如果第一个参数是一个命令字符或一个那么它会被用作对于高级用户,可以传入一个字典选项。希望大家可以结合创造出更多的使用方法。 FZF and VIM 前言 fzf本身并不是一个vim 插件,本来作者只提供了基本的wrapper函数(比如fzf#run). 但后来作者发现很多人并不熟悉VIMScript, 所以就创建一个默认...

    ?xiaoxiao, 评论0 收藏0

发表评论

0条评论

Near_Li

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<