fzf简介
作为Linux/Unix命令行的重度用户,你是否还在使用繁琐的管道命令与复杂选项组合来过滤文件和数据?其实我们有一个更简单高效的选择 - fzf。
fzf是一个开源的通用模糊搜索工具,可以大幅度提升命令行的使用体验。它的查询运行速度极快,支持预览选中的文件内容,还能与各种命令行工具无缝集成,强大的功能很容易让人上瘾。
本文将介绍如何安装fzf,以及通过实际案例展示它的强大功能和灵活用法,帮助你成为fzf高手。后面还会介绍一些进阶技巧,让你掌握自定义fzf的诀窍。让我们开始吧!
安装fzf
在大多数Linux发行版上,可以直接通过包管理器安装fzf:
代码语言:bash复制sudo apt install fzf # Ubuntu/Debian
sudo pacman -S fzf # Arch
除此之外,也可以通过GitHub源码编译安装。此外还需要设置一些环境变量来启用fzf的默认快捷键绑定和补全,在.bashrc或.zshrc中添加:
代码语言:bash复制source /usr/share/doc/fzf/examples/key-bindings.bash
source /usr/share/doc/fzf/examples/completion.bash
这样fzf就可以在控制台直接使用了。非常简单方便!
使用实践介绍
文件搜索
利用Linux强大的搜索工具结合fzf,可以实现快速文件搜索。例如使用ag搜索代码:
代码语言:bash复制ag -l | fzf
也可以搜索文件内容:
代码语言:bash复制ag -g "" | fzf --preview "bat --color=always {}
进程查询
显示进程后通过fzf过滤:
代码语言:bash复制ps aux | fzf
历史命令搜索
通过rzsh history启用历史记录,然后:
代码语言:bash复制history | fzf
即可快速Filtered历史命令。其他模糊补全例如hostnames, variables等用法类似,大大提升效率。
目录导航
通过fzf目录模糊补全快速导航:
代码语言:bash复制cd **<fzf>
文件多选
fzf支持shift tab进行多选:
代码语言:bash复制fzf -m
可同时打开多个文件。
除了上述例子,fzf几乎可与任何命令行工具集成。类似的用法有:
- git提交日志中搜索(git log | fzf)
- vim插件中文件搜索(:Files | fzf)
- 设置zsh模糊补全等
功能强大的fzf能大大提高这些工具的易用性。
进阶使用技巧
fzf高度定制化,可以设置外观主题、自定义快捷键等。
例如设置类似Sublime的配色:
代码语言:bash复制export FZF_DEFAULT_OPTS='--color=bw --inline-info'
设置CTRL-A全选:
代码语言:bash复制export FZF_CTRL_A=" [A]"
详细的自定义选项可以在man手册或GitHub文档中找到。
此外,还有很多插件扩展fzf功能,例如支持git状态显示的fzf-git。可以根据需要安装所需插件。
关于fzf介绍的总结
fzf是一个效率提升神器,能大大节省命令行用户的时间和精力。强大的模糊搜索能力可以无缝集成到各种场景中。
上手非常简单,而且高度可定制化。如果你每天都要在终端与数据打交道,就应该试一试fzf!它可能会成为你的终端生活不可或缺的一部分。