文档章节

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

Yggdroot
 Yggdroot
发布于 2017/09/07 16:25
字数 734
阅读 10
收藏 0

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

LeaderF是什么?

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

查找文件

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

  • 异步检索

    异步检索

  • 模糊查找

    模糊查找

  • 正则表达式查找

    正则

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

    中文

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

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

tags

查找历史命令

History

切换Colorscheme

Colorscheme


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

你不知道的细节

  • 智能大小写(smartcase) 如果输入的搜索字符都是小写字母,则匹配是大小写不敏感的;如果输入大写字母,则只匹配大写字母,小写字母仍然是大小写不敏感的。例如,输入abcDef,可以匹配如下字符串:
abcDef
AbcDef
abcDEf
aBcDeF

但不能匹配:

abcdef
Abcdef

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

  • 同时打开多个文件

    同时打开多个文件

  • 细化搜索结果

    细化搜索结果

开箱即用

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

最后

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

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

© 著作权归作者所有

共有 人打赏支持
Yggdroot
粉丝 0
博文 1
码字总数 734
作品 0
徐汇
加载中

评论(1)

红薯
红薯
托管到码云吧,我们来推荐:)
如何使用 Python 编写 vim 插件

前言 vim是个伟大的编辑器,不仅在于她特立独行的编辑方式,还在于她强大的扩展能力。然而,vim自身用于写插件的语言vimL功能有很大的局限性,实现功能复杂的插件往往力不从心,而且运行效率...

Yggdroot
2017/11/28
0
0
jaywcjlove/vim-web

Only tested on Mac OSx 目录 点击展开目录菜单 安装Vim-Web 插件管理 理解Vim 常用快捷键 基本配置说明 基础使用 搜索查找替换 文件恢复 多文档编辑 环境恢复 插件列表 错误处理 参考资料 ...

jaywcjlove
2017/08/19
0
0
VIM 管理好插件,神器也可以华丽

有过VIM使用和配置经验的同学都知道,VIM经过配置之后可以同IDE相媲美,作为神器当之无愧~ 不过,配置VIM也是很麻烦的,很多时候当我们需要换系统,或者是备份资料,到其他机器使用的时 候就...

i33
2012/11/28
0
3
专属于你自己的vim 神器的打造方式

Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使...

马哥教育
2017/10/30
0
0
Sublime Text 3 绝对神器

  忘记了是怎么开始用的ST,应该是在网上看到别人推荐才用到吧,用了有半年了。在windows下是绝对的神器,Notepad++之类的无可比拟;linux下,因为有个vim,鄙人对vim不懂,所以孰好孰更好...

lvshuocool
2016/11/08
31
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
今天
2
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
2
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
5
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部