如果你已经习惯了 Vim 的编辑方式,那么在终端里管理文件时,是否也想过用同样的快捷键?

felix 是一个用 Rust 编写的 TUI(终端用户界面)文件管理器,核心设计哲学就是「Vim-like」。885 个 Star 的背后,是一个功能完整、手感统一的终端文件管理方案。

项目概览

felix 不是那种「有 Vim 快捷键就算」的敷衍实现。它的按键逻辑、模式切换、寄存器系统都严格遵循 Vim 的设计——Normal 模式、Visual 模式、命令行模式一应俱全。

核心特性

完整的 Vim 快捷键映射

j/k       上下移动
h/l       进入/返回目录
gg/G      跳到顶部/底部
<C-d>/<C-u>  半页滚动
v         进入 Visual 模式(批量选择)
/         搜索
dd/yy/p   删除/复制/粘贴
u/<C-r>   撤销/重做

这种设计让 Vim 用户可以零学习成本上手。

多寄存器剪贴板

felix 支持 Vim 风格的寄存器系统:

"ayy     复制到寄存器 a
"add     删除并存入寄存器 a
"ap      从寄存器 a 粘贴
:reg     查看所有寄存器内容

这意味着你可以同时保存多组文件,按需粘贴,比普通剪贴板高效得多。

文件预览

v 开启预览模式:

  • 文本文件:直接显示内容
  • 图片:配合 chafa 可在终端预览
  • 目录:显示文件列表

预览区域支持垂直/水平分割切换(s 键),也可以滚动查看(Alt+j/k)。

实用集成

felix 可以无缝配合以下工具:

工具作用
zoxide智能目录跳转,按 z 关键词 快速跳转
chafa终端图片预览
bat代码高亮预览

这些工具无需额外配置,安装即可生效。

其他亮点

  • 批量重命名:Visual 模式下按 c,会用默认编辑器打开选中文件列表,批量修改后保存即可
  • Trash 功能:删除的文件进入 Trash 目录,可随时恢复或清空(:trash / :empty
  • 退出保持目录:支持退出时返回最后工作目录,需要配合 shell 集成
  • Undo/Redo:删除、粘贴、重命名都支持撤销

安装

# crates.io
cargo install felix

# Arch Linux
pacman -S felix-rs

# 源码安装
git clone https://github.com/kyoheiu/felix.git
cd felix
cargo install --path .

注意:Rust 版本需要 ≥ 1.78.0

启用退出保持目录

.bashrc.zshrc 中添加:

source <(command fx --init)

这样退出 felix 时会自动 cd 到最后所在的目录。

与同类工具对比

工具Star特点
yazi35k+功能最丰富,但学习曲线较陡
joshuto3.7k类 ranger,Rust 实现
felix885Vim 纯血体验,轻量简洁

如果你追求极致的 Vim 一致性,felix 是三者中最纯粹的选择。

总结

felix 的价值在于「不妥协的 Vim 体验」。它没有试图讨好所有人,而是专注服务好那批已经沉浸 Vim 快捷键的用户。如果你正是这类用户,它会是一个让你「回家」的工具。

安装一条命令,体验一把:

cargo install felix && fx