0%

Linux命令行模糊搜索神器fzf

简介

A command-line fuzzy finder
It’s an interactive Unix filter for command-line that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc.

GitHub地址:https://github.com/junegunn/fzf

安装

Ubuntu安装

sudo apt-get install fzf

vim插件安装

使用vim-plug

1
2
3
4
"已经安装fzf,加入如下配置,:PlugInstall fzf 即可安装。
Plug '~/.fzf'
"未安装fzf
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }

备注:使用vim插件安装fzf后,在shell中不能调用,需加入到环境变量中:vim ~/.profile,加入:PATH="~/.fzf/bin:$PATH",刷新即可。

使用

  • Ctrl-J/Ctrl-K 移动光标
  • Enter选择所选项目,Ctrl-CESC退出fzf
  • 可以使用鼠标滚动、单击、双击

布局

fzf在默认状态下是全屏幕,但是可以使用--height选项调整布局:
fzf --height 40%
如果喜欢”top-down”布局,可以使用--reverse来代替默认的boottom-up
默认的”bottom-up”布局:
pic
“top-down”布局
pic

搜索语法

可以使用多个语法组合使用,如:^music .mp3$ sbtrkt !fire.

Token Description
sbtrkt 匹配sbtrkt
'wild 包含wild
^music music开头
.mp3$ .mp3结尾
!fire 不包括fire
!^music 不以music开头
!.mp3$ 不以.mp3结尾

环境变量

FZF_DEFAULT_OPTS

  • 默认选项
  • 如:export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --inline-info"
    或者使用alias
    alias fzf="fzf --height 40% --inline-info"

可以通过man fzf获取完整文档。