序言
Fzf是一款小巧,超快,通用,跨平台的命令行模糊查找器,可帮助您在Linux和Windows操作系统中快速搜索和打开文件。 它是可移植的,没有依赖性,并且具有灵活的布局,支持Vim / Neovim插件,键绑定和模糊自动完成。
以下GIF显示了它的工作原理。
要安装Fzf ,您需要将fzf的Github存储库git克隆到任何目录并运行安装脚本,如Linux发行版所示。
$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf $ cd ~/.fzf/ $ ./install
2
运行脚本后,系统将提示您启用模糊自动完成,键绑定并更新shell配置文件。 对问题回答y
(对于是 ),如以下屏幕截图所示。
在Linux中安装Fzf
在Fedora 26及更高版本和Arch Linux上 ,您可以通过包管理器安装它,如图所示。
$ sudo dnf install fzf #Fedora 26+ $ sudo pacman -S fzf #Arch Linux
2
现在您已经安装了fzf ,您可以开始使用它了。 当你运行fzf时 ,它会打开一个交互式查找程序; 从stdin读取文件列表,并将所选项写入stdout 。
只需在提示中键入要查找的文件的名称。 找到它后,单击enter,文件的相对路径将打印到stdout 。
$ fzf
Fzf提示
或者,您可以将要搜索的文件的相对路径保存到命名文件,并使用cat命令或bcat等实用程序查看文件的内容。
$ fzf >file
$ cat file
OR
$ bat file
2
3
4
5
例如,您也可以将它与find命令结合使用。
$ find ./bin/ -type f | fzf >file
$ cat file
2
3
如何在Bash和Zsh中使用模糊完成
要触发文件和目录的模糊完成,请将**
字符添加为触发序列。
$ cat **<Tab>
2
自动完成文件名
您可以在命令行中使用环境变量时使用此功能。
$ unset **<Tab> $ unalias **<Tab> $ export **<Tab>
2
在Linux中自动完成Env变量
这同样适用于ssh和telnet命令,用于自动完成从**/ etc / hosts和〜/ .ssh / config**读取的主机名。
$ ssh **<Tab>
2
自动完成主机名
它也适用于kill命令 ,但没有显示的触发序列。
$ kill -9 <Tab>
杀死命令的自动完成
如何启用fzf作为Vim插件
要将fzf作为vim插件启用,请在Vim配置文件中附加以下行。
set rtp+=~/.fzf
fzf正在积极开发中,可以使用以下命令轻松升级到最新版本。
$ cd ~/.fzf && git pull && ./install
2
要查看完整的使用选项列表,请运行man fzf或查看其Github存储库: https : //github.com/junegunn/fzf 。
另请阅读 : Silver Searcher - 程序员的代码搜索工具
Fzf是一款超快速且通用的模糊查找器,用于在Linux中快速搜索文件。 它有许多用例,例如,您可以为shell配置自定义用法。 如果您有任何问题或意见,请通过下面的反馈表联系我们。