FZFM:使用 FZF 打造的终极命令行模糊查找文件管理器 | 快速导航、预览和编辑

图片[1]-FZFM:使用 FZF 打造的终极命令行模糊查找文件管理器 | 快速导航、预览和编辑-🎉数字奇遇🎉

简介:

FZFM 是一个基于 fzf (fuzzy finder) 的命令行文件管理器,旨在提供快速、高效且高度可定制的文件导航和管理体验。它利用 fzf 的强大模糊搜索能力,结合其他实用工具,如 eza (或 ls) 用于目录列表、bat (或 cat) 用于文件预览、nvim (或 nano) 用于文本编辑,以及可配置的媒体文件打开器 (例如 wslview, xdg-open, open),打造了一个功能丰富且灵活的终端文件管理解决方案。FZFM 的核心目标是让用户仅使用键盘即可无缝浏览目录、快速查找文件、预览文件内容并启动相关应用程序。

主要特性:

  1. 无缝目录导航: FZFM 允许用户仅使用键盘即可轻松浏览目录结构。通过模糊搜索快速定位到目标文件夹,无需繁琐的路径输入。
  2. 极速模糊搜索: 依托 fzf 的强大模糊搜索算法,FZFM 能够以惊人的速度在大量文件中查找目标文件。即使文件名不完整或存在拼写错误,也能迅速找到匹配项。
  3. 文件预览: FZFM 提供文件预览功能,允许用户在不打开文件的情况下查看文件内容。默认情况下,它使用 bat 工具进行代码高亮显示的文件预览,如果 bat 不可用,则回退到 cat 命令。
  4. 目录预览: FZFM 增强了目录列表的显示效果,使用 eza 工具(如果可用)以更美观、更易读的方式展示目录内容,包括文件大小、修改日期等信息。如果没有安装 eza,则使用标准的 ls 命令。
  5. 可定制的媒体文件打开器: FZFM 允许用户自定义用于打开媒体文件的应用程序。通过设置环境变量 FZFM_MEDIA_OPENER,可以选择适合自己系统的媒体打开器,例如 wslviewxdg-open 或 open
  6. 完全可配置: FZFM 的行为可以通过一系列环境变量进行配置,包括文本编辑器、目录列表命令和预览命令。这使得用户可以根据自己的偏好和系统环境定制 FZFM 的使用体验。

依赖项:

要充分利用 FZFM 的功能,需要安装以下依赖项:

  • fzf: 这是 FZFM 的核心依赖项,提供模糊搜索功能。
  • eza: 用于增强目录列表的显示效果(可选,回退到 ls)。
  • bat: 用于提供代码高亮的文件预览功能(可选,回退到 cat)。
  • nvim: 用于文本编辑(可选,回退到 nano)。
  • 媒体文件打开器: 例如 wslviewxdg-open 或 open,用于打开媒体文件。
  • Nerd Fonts: 为了在终端中正确显示图标,建议安装 Nerd Fonts。

安装:

可以通过以下命令安装 FZFM:

curl -fsSL https://raw.githubusercontent.com/ashish0kumar/fzfm/main/fzfm -o ~/.local/bin/fzfm
chmod +x ~/.local/bin/fzfm

此命令将 FZFM 脚本下载到 ~/.local/bin/ 目录,并使其可执行。

使用方法:

安装完成后,只需在终端中运行 fzfm 命令即可启动 FZFM。

常用快捷键:

  • 上/下箭头: 移动选择。
  • Enter / 右箭头: 打开文件/文件夹。
  • Shift + 上/下箭头: 滚动预览。
  • Ctrl + R: 刷新文件列表。

环境变量配置:

可以通过设置以下环境变量来定制 FZFM 的行为:

  • FZFM_MEDIA_OPENER: 设置首选的媒体文件打开器。例如:export FZFM_MEDIA_OPENER="xdg-open"
  • FZFM_TEXT_EDITOR: 设置首选的文本编辑器。例如:export FZFM_TEXT_EDITOR="nvim"
  • FZFM_LIST_COMMAND: 设置目录列表命令。例如:export FZFM_LIST_COMMAND="eza"
  • FZFM_PREVIEW_COMMAND: 设置预览命令。例如:export FZFM_PREVIEW_COMMAND="bat"

贡献:

FZFM 是一个开源项目,欢迎贡献。可以通过 fork 仓库、提交 issue 或贡献代码来参与 FZFM 的开发。

总结:

FZFM 是一个强大而灵活的命令行文件管理器,它结合了 fzf 的模糊搜索能力和各种实用工具,为用户提供了一种高效、便捷的文件管理方式。通过简单的安装和配置,用户可以轻松地使用 FZFM 来浏览目录、查找文件、预览文件内容并启动相关应用程序。其高度可定制性使其能够适应各种不同的使用场景和系统环境,是终端用户的理想选择。FZFM不仅提升了文件管理的效率,也让命令行操作变得更加直观和愉快。对于经常需要在终端中处理文件的开发者和系统管理员来说,FZFM 无疑是一个值得尝试的工具。它简化了文件查找和管理流程,使您可以专注于更重要的任务。通过可定制的配置选项,FZFM 能够完美地融入您的工作流程,提升您的工作效率。无论是快速浏览文件系统、预览代码文件还是打开媒体文件,FZFM 都能提供流畅而高效的体验。其轻量级的特性也意味着它不会占用过多的系统资源,即使在资源有限的服务器环境中也能稳定运行。

FZFM 的核心优势在于其对 fzf 的巧妙运用。Fzf 本身就是一个非常强大的模糊查找工具,而 FZFM 则将其集成到一个完整的文件管理系统中。这种集成使得用户能够以惊人的速度找到所需的文件,即使文件名记不清楚也没关系。此外,FZFM 的文件预览功能也极大地提高了工作效率。无需打开文件,即可快速查看其内容,这对于浏览代码文件或文本文件来说非常方便。通过配置环境变量,用户还可以根据自己的需求选择不同的预览工具,例如 bat 或 cat。这种灵活性使得 FZFM 能够适应各种不同的文件类型和使用场景。

FZFM 的另一个亮点是其可定制性。通过设置环境变量,用户可以轻松地配置 FZFM 的行为,例如选择不同的文本编辑器、目录列表命令和媒体文件打开器。这种可定制性使得 FZFM 能够完美地融入各种不同的工作流程。例如,如果您是 Vim 用户,可以将 FZFM_TEXT_EDITOR 设置为 vim,这样 FZFM 就会使用 Vim 来打开文本文件。如果您喜欢使用 exa 来显示目录列表,可以将 FZFM_LIST_COMMAND 设置为 exa。这种灵活性使得 FZFM 能够满足各种不同的用户需求。

总而言之,FZFM 是一个功能强大、灵活且易于使用的命令行文件管理器。它结合了 fzf 的模糊搜索能力和各种实用工具,为用户提供了一种高效、便捷的文件管理方式。如果您经常需要在终端中处理文件,那么 FZFM 绝对值得一试。它将极大地提高您的工作效率,让您更专注于更重要的任务。通过其可定制的配置选项,FZFM 能够完美地融入您的工作流程,成为您不可或缺的命令行工具。

ashish0kumar/fzfm: fuzzy finder file manager
https://github.com/ashish0kumar/fzfm
© 版权声明
THE END
喜欢就支持一下吧
点赞529 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容