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

原创 2017年09月09日 10:06:17

提到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最好的模糊查詢插件

相关文章推荐

linux下C语言多线程(二)线程的私有数据

一. 概念及作用 在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。现在有一全局变量,所有线程都可以使用它,...

kettle文本文件输出关系型数据库的数据时字段自动填充空格问题

最近在学习kettle,在练习输入输出时遇到这样一个问题:输入:表输入;输出:文本文件输出。 现有一个要输出的字段A,在关系型数据库中的类型是varchar(10),值为“abc”,但是执行转换后,...

vim插件管理神器:pathogen

1.问题剖析 可扩展性是优秀软件的重要特点之一,而 Vim 从 Unix 系统一路传成下来更是将可扩展性发挥到了极致。 相信多数 Vim 的经验用户除了自己经精心维护的 .vimrc 配置文件之外更...

vim插件安装神器vundle

Vundle 首先给出这个神器的github:https://github.com/VundleVim/Vundle.vim上面有英文版的使用教程(接近翻译的中文版教程)最近在学习搞自己的博客的路上看...
  • mgsweet
  • mgsweet
  • 2016年04月22日 11:35
  • 274

上古神器vim插件:你真的学会用NERDTree了吗?

http://www.xinxingzhao.com/blog/2016/05/15/vim-NERDTree.html  我是一个vimer,还在用着这个上古时代的编辑器,但我...
  • wjy397
  • wjy397
  • 2016年07月02日 08:03
  • 4422

VIM4:vim插件管理神器——vundle

vim插件管理神器——vundle 项目托管在github上 https://github.com/gmarik/vundle vundle是vim bundle的简写,是vim插件管理的神器,...

JsonToKotlin(Kotlin开发神器)----Json数据示例直接生成Kotlin Data Class 开发插件

前言在使用Kotlin进行开发的时候,我们需要经常对Json数据做解析和处理,在Java的类似开发环境中,我们就需要参照Json的数据格式相应的生成对应的JavaBean,在Java开发的时候有Gso...
  • wuseal
  • wuseal
  • 2017年08月23日 17:17
  • 1883

最火Android模拟神器Genymotion之Eclipse插件安装过程

Genymotion最有趣的一项功能就是允许用户测试自己利用Eclipse IDE开发出的应用程序。它利用ADB与任何活动Genymotion虚拟设备连接,并以此为基础进行应用程序推送。 AD:...

Xcode插件神器

Xcode插件神器 作为iOS开发人员,不了解些常用的插件,不使用插件,开发效率怎么会够快呢?那么问题来了,现在的你,使用过哪些xcode插件?如果没有使用过插件,那么很遗憾,您错过了很多好用的工具!...

神器sublime+bootstrap插件的安装

sublime和bootstrap的下载和安装,我就不多说了,直接去baidu
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:让人相见恨晚的vim插件:模糊查找神器LeaderF
举报原因:
原因补充:

(最多只允许输入30个字)