资讯专栏INFORMATION COLUMN

Fuzzy finder(fzf+vim) 使用全指南

Java_oldboy / 2627人阅读

摘要:简介是一款使用语言编写的交互式的命令行工具。可以用来查找任何列表内容,文件分支进程等。建议把常用的放在中管理嘛命令行补全默认使用来补全命令,比起默认的补全,补全不知道高到哪里去了。统统都能补全,好用哭了

简介

Fuzzy finder 是一款使用 GO 语言编写的交互式的 Unix 命令行工具。可以用来查找任何 列表 内容,文件、Git 分支、进程等。所有的命令行工具可以生成列表输出的都可以再通过管道 pipe 到 fzf 上进行搜索和查找

优点

GO 语言编写,编译完生成可执行文件没有任何依赖

搜索/查找速度飞快

功能全面/可视化界面体验很棒

周边插件丰富 (vim, tmux, fuzzy auto-completion)

安装

以 macOS 为例子,直接使用 homebrew 安装即可

brew install fzf
# 如果要使用内置的快捷键绑定和命令行自动完成功能的话可以按需安装
$(brew --prefix)/opt/fzf/install
使用

命令行下执行 fzf 即可展示当前目录下所有文件列表,可以用键盘上下键或者鼠标点出来选择

或许你会觉得这个查找提示看起来挺漂亮的,但是并没有什么卵用,因为查找出来就没有然后了。其实这也是 Fuzzy finder 最核心的地方,他只是一个通用的下拉查找功能,自己本身并不关心你用它来做什么,通常我们需要组合使用才会有很好的效果

用 vim 打开文件

比如我们用 vim 组合 fzf 来查找并打开目录下的文件:

vim $(fzf)

切换当前工作目录

再比如进入到某个文件夹下面,使用 fzf 的过滤选择真是太方便了

cd $(find * -type d | fzf)

这是个组合 (cd+find+fzf) 命令,完成切换到任意子目录的功能。可以看出来当 fzf 和其它命令组合使用时就能使得一些操作更方便:

使用 find 命令找出所有的子目录

把子目录列表 pipe 到 fzf 上进行选择

再把结果以子命令的形式传给 cd

切换 git 分支
git checkout $(git branch -r | fzf)

不过这样组合使用命令的实在太长了,如果你不使用自动补全的话巧起来很累的。建议把常用的 alias 放在 .zshrc 中管理嘛

shell 命令行补全

fzf 默认使用 ** 来补全 shell 命令,比起默认的 tab 补全,fzf 补全不知道高到哪里去了。cd, vim, kill, ssh, export... 统统都能补全,好用哭了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25014.html

相关文章

  • 模糊搜索神器fzf

    摘要:让你通过输入模糊的关键词就可以定位文件或文件夹。当你的思维也习惯了模糊匹配后,在工作中可以大幅提高你的工作效率。模糊搜索的概念如下,你记得文件名含有,那么你只需要把所有文件送给然后在窗口里输入就可以了,不管实现名是还是都会匹配上。 前言 fzf是目前最快的fuzzy finder。使用golang编写。结合其他工具(比如ag和fasd)可以完成非常多的工作。让你通过输入模糊的关键词就可...

    miqt 评论0 收藏0
  • Vim模糊文件搜索fzf

    摘要:参考官网参考使用全指南安装直接在插件管理器中其中会把命令行软件安装到本机的目录中,然后在中就可以直接通过执行来使用命令搜索文件了。使用最简单的话,直接在中输入命令就会弹出当前目录下的所有文件列表,然后可以各种模糊搜索,按和上下选择。 不同于Command-T只能用于VIM,大名鼎鼎的fzf是命令行工具,而且只在VIM中使用的话也不需要手动去编译任何依赖,直接用插件管理器安装即可立马使用...

    lavor 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<