命令行搜索神器fzf

107 篇文章 1 订阅

在这里插入图片描述

文件搜索神器fzf,名气很大,很快,很强大。
fzf 是一个通用的命令行模糊查找器。
在这里插入图片描述
它是一个交互式 Unix 命令行过滤器,可用于任何列表;文件、命令历史、进程、主机名、书签、git 提交等。

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

优点

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

安装

Homebrew

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

brew install fzf

使用 Linux 包管理器

Package ManagerLinux DistributionCommand
APKAlpine Linuxsudo apk add fzf
APTDebian 9+/Ubuntu 19.10+sudo apt-get install fzf
Condaconda install -c conda-forge fzf
DNFFedorasudo dnf install fzf
NixNixOS, etc.nix-env -iA nixpkgs.fzf
PacmanArch Linuxsudo pacman -S fzf
pkgFreeBSDpkg install fzf
pkginNetBSDpkgin install fzf
pkg_addOpenBSDpkg_add fzf
XBPSVoid Linuxsudo xbps-install -S fzf
ZypperopenSUSEsudo 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值