Rust写的终端文件管理器Joshuto,ranger的异步替代方案

张开发
2026/6/10 1:54:43 15 分钟阅读

分享文章

Rust写的终端文件管理器Joshuto,ranger的异步替代方案
文章目录Rust写的终端文件管理器Joshutoranger的异步替代方案键位完全兼容ranger异步IO解决卡顿配置与主题安装覆盖主流平台适用场景Rust写的终端文件管理器Joshutoranger的异步替代方案终端文件管理器这个品类里ranger 长期占据主流位置。但它用 Python 写成单线程架构在处理大量文件时界面容易卡顿。Joshuto 用 Rust 把 ranger 的核心功能重写了一遍带来了异步文件 IO响应速度也有提升目前在 GitHub 上获得了 3697 个 Star。键位完全兼容rangerJoshuto 的键位设计直接沿用了 ranger 的 Vim 风格操作。上下翻动用 hjkl 或方向键翻页用 ctrlu 和 ctrldgg 跳顶部G 跳底部。文件操作也是 dd 剪切、yy 复制、pp 粘贴。重命名按 a 在文件名末尾追加按 A 在开头添加。用过 ranger 的上手基本没有学习成本。在此基础上 Joshuto 加入了标签页管理ctrlt 新建标签、ctrlw 关闭标签、Tab 在标签之间切换、backtab 回到上一个标签。隐藏文件用 zh 一键切换显示。输入冒号进入命令模式等号键切换操作模式。还有目录收藏夹、行号跳转到指定数字、批量重命名等功能。这些在 ranger 里需要配置或安装插件才能实现Joshuto 直接内置了。异步IO解决卡顿Joshuto 的主要改进在于文件 IO 全部异步执行。ranger 在剪切、复制文件时单线程操作会阻塞界面文件操作完成前无法继续浏览目录。Joshuto 把文件复制、剪切、粘贴放到后台异步处理操作提交后可以继续浏览目录、切换标签不会感受到卡顿。按 w 键调出任务面板就能查看所有进行中的后台操作。粘贴时还有几个变体pp 普通粘贴po 覆盖粘贴pl 创建绝对路径符号链接pL 创建相对路径符号链接。回收站支持也内置了删除的文件先进入回收站而非直接清除。Ctrl、Shift、Alt 组合键也都得到支持自定义键位映射的空间很大。配合 fzf 的模糊搜索和 zoxide 的目录跳转日常导航效率有明显提升。文件预览功能也覆盖了文本和图片不过图片预览需要终端配合配置才能开启。配置与主题Joshuto 用 TOML 格式管理配置分五个文件joshuto.toml 管全局设置keymap.toml 管按键绑定mimetype.toml 管文件打开方式比如用哪个应用打开 PDF、图片theme.toml 管颜色主题bookmarks.toml 管收藏夹。TOML 比 ranger 的 Python 配置文件更直观阅读和修改都方便。主题支持自定义颜色devicons 图标默认开启终端里不同文件类型一眼就能区分。安装覆盖主流平台安装方式覆盖很广。Rust 用户直接 cargo install 即可也支持从预编译二进制一键安装支持指定版本号和自定义安装路径。各发行版的包管理器基本都跟进了Arch 的 AUR 提供稳定版和 git 版两个选择Fedora 有 COPR 仓库Gentoo 的 gentoo-zh 收录了NixOS 可以用 flake 方式引用或临时运行MacPorts 和 Homebrew 均支持 macOS 和 Linux 安装。当前没有 Windows 版本这是项目一个局限。适用场景适合日常在终端里管理文件并且习惯 Vim 键位的用户。如果觉得 ranger 响应速度不够或者想要一个带标签页和异步 IO 的文件管理器Joshuto 值得尝试。项目仍在开发中标签页自动补全等功能也在推进后续版本值得关注。。项目仍在开发中标签页自动补全等功能也在推进后续版本值得关注。

更多文章