文件搜索神器fzf,名气很大,很快,很强大。
fzf 是一个通用的命令行模糊查找器。

它是一个交互式 Unix 命令行过滤器,可用于任何列表;文件、命令历史、进程、主机名、书签、git 提交等。

项目地址:
https://github.com/junegunn/fzf

优点

  • 便携,无依赖
  • 极快
  • 最全面的功能集
  • 灵活的布局
  • 包括电池
  • Vim/Neovim 插件、键绑定和模糊自动完成

安装

Homebrew

您可以使用Homebrew(在 macOS 或 Linux 上)安装 fzf。

brew install fzf

使用 Linux 包管理器

Package Manager Linux Distribution Command
APK Alpine Linux sudo apk add fzf
APT Debian 9+/Ubuntu 19.10+ sudo apt-get install fzf
Conda conda install -c conda-forge fzf
DNF Fedora sudo dnf install fzf
Nix NixOS, etc. nix-env -iA nixpkgs.fzf
Pacman Arch Linux sudo pacman -S fzf
pkg FreeBSD pkg install fzf
pkgin NetBSD pkgin install fzf
pkg_add OpenBSD pkg_add fzf
XBPS Void Linux sudo xbps-install -S fzf
Zypper openSUSE sudo zypper install fzf

其他系统的安装参情请参考https://github.com/junegunn/fzf

用法

fzf 将启动交互式查找器,从 STDIN 读取列表,并将所选项目写入 STDOUT。

find * -type f | fzf > selected

如果没有 STDIN 管道,fzf 将使用 find 命令获取不包括隐藏文件的文件列表。(您可以使用 覆盖默认命令 FZF_DEFAULT_COMMAND)

vim $(fzf)

使用取景器

  • CTRL-K/ CTRL-J(或CTRL-P/ CTRL-N)上下移动光标
  • Enter键选择项目,CTRL-C/CTRL-G / ESC退出
  • 在多选模式下(-m),TABShift-TAB标记多个项目
  • Emacs 样式键绑定
  • 鼠标:滚动、单击、双击;多选模式下的 shift-click 和 shift-scroll

配置

配置
如果要更方便的使用fzf,而不输入那么多命令,那就直接在shell的配置里加一个环境变量即可。

这个环境变量名叫FZF_DEFAULT_OPTS,所有fzf的配置都写在这一个变量里:

export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --preview '(highlight -O ansi {} || cat {}) 2> /dev/null | head -500'"

我的配置如下:
编辑环境变量nvim ~/.zshrc

#fzf配置
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --preview '(highlight -O ansi {} || cat {}) 2> /dev/null | head -500'"
function vf(){nvim $(fzf)
}

这样在命令行中输入vf就可以直接命令行搜索文件并用nvim打开文件了。

参考

https://github.com/junegunn/fzf
https://www.jianshu.com/p/d64553a37d69

命令行搜索神器fzf相关推荐

  1. fzf命令行使用_为什么要使用命令行模糊查找器fzf

    fzf命令行使用 by Alexey Samoshkin 通过阿列克谢·萨莫什金(Alexey Samoshkin) 为什么要使用命令行模糊查找器fzf (Why you should be usin ...

  2. 命令行终端神器,你值得拥有

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 大家好,我是你们的章鱼猫. 今天要给大家推荐一个 Python 的命令行终端神器 Ri ...

  3. python爬虫入门:在命令行搜索并下载小说

    文章目录 前言 一.生成小说章节目录 1.具体流程 2.效果演示 二.小说下载 1.具体流程 2.效果演示 总结 前言 本篇文章以笔趣阁为例,链接:https://www.biquge7.com,实现 ...

  4. Linux下搜索神器fzf的配置和使用

    fzf的使用广泛,尤其是vim的使用当中,这里只是简单配置在linux命令行中的使用方法进行介绍: 一.安装 这里安装是使用的源码安装,除此之外,还可以使用命令进行安装apt install fzf, ...

  5. 精选四款命令行「神器」:美、快、爽!

    常言道,工欲善其事.必先利其器,熟练一套高效且趁手的工具,对开发工作的重要性不言而喻. 本文给大家分享下命令行开发环境,文章较长,配图较多, 其中几处详细内容,已将其折叠起来,读者可视兴趣展开阅读. ...

  6. Mac通过命令行搜索文件

    你好,我是悦创 . 最近在做 Python 简单的图像识别 ,需要用到某些库和软件,有时候需要查找路径.所以就有了如下内容. 通过 Find 命令搜索文件 find 命令非常高效,并且使用简单.fin ...

  7. terminus 和 windows terminal_Windows命令行终端神器Cmder配置及美化指南

    前一阵子,微软发布的全新终端 Windows Terminal 引起了很多人的关注.最近微软将全新的预览版 Terminal 放在了 Microsoft Store 中,我第一时间就想要尝尝鲜.然而新 ...

  8. ubuntu安装软件包命令_从Ubuntu命令行搜索安装软件包

    ubuntu安装软件包命令 When you are trying to install software on Ubuntu or Debian linux using the apt-get pa ...

  9. linux tee 日志输出_25 个 Linux 下最炫酷又强大的命令行神器,你用过其中哪几个呢?...

    众所周知,我们在 Linux 下大多数时候是使用命令行来处理任务的.这样不但操作起来效率比较高,而且界面也比较炫酷.下面,我们就给大家推荐一些不但炫酷又好用的 Linux 命令行神器. 1. exa ...

最新文章

  1. 算法笔记_114:等额本金(Java)
  2. jQuey基础思维导图梳理1
  3. GridView实现自动编号
  4. android的窗口机制分析------ViewRoot类
  5. 手机cpu排行_鲁大师手机芯片排行榜:麒麟990第四,骁龙855第五!
  6. JAVAAPI之STRING类和STRINGBUFER类
  7. 4 关卡流 进阶_全息武器全解析,记住4个点全区第一就是你!
  8. mysql替换json的key_mysql中json_replace函数的使用?通过json_replace对json对象的值进行替换...
  9. C#调用C和C++函数的一点区别
  10. 【高校宿舍管理系统】终章 完成主页以及项目总结
  11. python dd 合并二进制文件_马克的Python学习笔记#数据编码与处理 5
  12. zabbix-3.0.3 mysql表分区的方法
  13. IOS检查更新的方法
  14. VS2019安装智能提示番茄助手VAssistX
  15. 穿越“惊世骇俗”的美景
  16. python 折线图标签_如何使用python绘制折线图?
  17. 微信小程序 - 引入并使用 Fly.js 请求库(超级详细的教程及运行示例)提供 Fly.js 源码源文件下载,贴心的配置示例及注释,优雅快速的发起 http 网络请求
  18. 没有实习经验的应届生如何找到一份数据分析类工作?
  19. 查询你的手机或者邮箱注册过那些网站
  20. android 京东收货地址,手机京东商城怎么添加收货地址?

热门文章

  1. Java TCP 群聊
  2. P4 连续随机变量的贝叶斯滤波
  3. 使用Web Speech API实现语音文本互转
  4. 告别 Windows、Android,国产操作系统合力破局
  5. Mysql中表的创建、修改与删除
  6. 程序员的数学之数学归纳法
  7. 如何拥有强悍的学习能力?
  8. 计算机专业mx330够用吗,Nvidia GeForce MX330性能跑分和评测
  9. c语言快速排序算法代码,c语言快速排序算法示例代码分享
  10. 【实习第三天】css的应用