
fzf模糊补全完整教程vim ** 秒选文件彻底告别路径手打【免费下载链接】fzf:cherry_blossom: A command-line fuzzy finder项目地址: https://gitcode.com/GitHub_Trending/fz/fzffzf 是一款用 Go 编写的命令行模糊查找器fuzzy finder它的模糊补全功能堪称杀手级应用输入vim **再按一次 就能从整个目录树中模糊匹配、秒选文件打开彻底告别手打长路径。本教程面向新手完整覆盖安装、Shell 集成、vim 选文件与常见问题排错5 分钟即可上手。fzf 是什么为什么值得装fzf 是一个通用型的交互式终端模糊查找工具给它一份列表文件或任意文本它实时过滤选中项输出到标准输出。它的核心优势快单遍扫描算法百万级条目毫秒级响应核心匹配实现在 src/algo/algo.go零依赖单个二进制文件即可安装跨平台开箱即用自带 Bash、Zsh、Fish、Nushell 与 Vim/Neovim 集成3 分钟完成 fzf 安装与 Shell 集成方法一包管理器推荐系统命令macOSbrew install fzfDebian / Ubuntusudo apt install fzfFedorasudo dnf install fzfArchsudo pacman -S fzf方法二从源码仓库安装git clone --depth 1 https://gitcode.com/GitHub_Trending/fz/fzf ~/.fzf ~/.fzf/installinstall 脚本会自动写入$PATH并配置 Shell 集成新手无需手工改配置。关键一步开启 Shell 集成快捷键与模糊补全都靠它在 shell 配置文件中加一行然后重启终端# bash写入 ~/.bashrc eval $(fzf --bash) # zsh写入 ~/.zshrc source (fzf --zsh)对应的集成脚本位于 shell/key-bindings.bash 与 shell/completion.bash公共逻辑在 shell/common.sh。核心玩法vim ** 模糊补全选文件在 bash 或 zsh 中只要命令末尾输入触发符**默认可通过FZF_COMPLETION_TRIGGER修改再按 fzf 界面就会弹出。下面是最高频的场景场景输入效果打开当前目录文件vim **TAB弹出文件列表模糊匹配后回车打开限定目录范围vim ~/**TAB只在家目录下匹配按名称预过滤vim ../fzf**TAB在上级目录中匹配含 fzf 的文件选择多个文件vim **TAB后连按 标记回车确认一次打开多个文件模糊切换目录cd **TAB单选的目录补全选进程杀进程kill -9 **TAB从进程列表多选选 SSH 主机ssh **TAB从/etc/hosts和 ssh 配置匹配 小提示界面中直接输入关键词即可实时过滤CTRL-J/CTRL-K上下移动回车确认、CTRL-C取消匹配中的字符会自动高亮所见即所得。Shell 三大快捷键CTRL-T / CTRL-R / ALT-C装好 Shell 集成后除了**TAB还有三个内置快捷键值得每天用快捷键功能一句话说明CTRL-T文件补全把选中文件粘贴到当前命令后如git add后按 CTRL-T 多选文件CTRL-R历史命令搜索模糊搜索历史命令再按一次可切换按相关度/按时间排序ALT-C模糊切目录快速 cd 到任意深层子目录在 tmux 中fzf 会自动改用面板模式显示逻辑见 shell/common.sh 的__fzfcmd部分无需额外配置。Vim 插件在编辑器内模糊打开文件如果你已经在 Vim/Neovim 里工作装一下 fzf 的 Vim 插件打开文件的体验同样起飞。使用 vim-plug 时在~/.vimrc中加Plug junegunn/fzf, { do: { - fzf#install() } }插件文件 plugin/fzf.vim 提供两个核心入口:FZF [路径]—— 基础文件选择器:FZF搜当前目录:FZF ~搜家目录:FZF!全屏模式fzf#run({...})—— 自定义来源的底层 API例如:call fzf#run({source: ls})选中文件后按键打开方式回车当前窗口打开CTRL-T新标签页CTRL-X水平分屏CTRL-V垂直分屏进阶配置窗口大小、配色、自定义动作可在~/.vimrc中通过g:fzf_layout、g:fzf_action设置完整说明见 README-VIM.md。新手常见问题按了 没反应怎么办1. 先确认 Shell 集成已加载新开终端执行type _fzf_filebash有输出即正常没有则检查上一节的eval $(fzf --bash)是否写入了~/.bashrc并已重新 source。2. 确认命令在支持列表中bash 下模糊补全默认只绑定在一组预定义命令上可用complete | grep _fzf查看。想给别的命令如ag、git开启可调用_fzf_setup_completion path ag git。3. 触发符被改过若设置了FZF_COMPLETION_TRIGGER~~则要用~~TAB触发。4. 想给补全加预览窗export FZF_COMPLETION_OPTS--preview cat {}更多排错与配置思路可参考仓库自带文档 doc/fzf.txt 和 man 页 man/man1/fzf.1。两个环境变量一次配置处处生效变量作用示例FZF_DEFAULT_OPTS全局默认选项export FZF_DEFAULT_OPTS--layoutreverse --inline-infoFZF_DEFAULT_COMMAND无管道输入时生成候选列表的命令export FZF_DEFAULT_COMMANDfd --type f写在最后fzf 把找文件、选命令、切目录这三件每天要做几十次的琐事压缩成了几个字符 一个回车。建议按本文顺序完成安装 → Shell 集成 → 熟练使用vim **TAB与 CTRL-T/CTRL-R/ALT-C → 装 Vim 插件。想进一步探索预览窗口、动态刷新候选、自定义工作流可以阅读 ADVANCED.md它收录了官方精选的高级用法。【免费下载链接】fzf:cherry_blossom: A command-line fuzzy finder项目地址: https://gitcode.com/GitHub_Trending/fz/fzf创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考