跳到正文
发现
Vifm:Vim 风格的终端文件管理器
命令行工具效率工具

Vifm:Vim 风格的终端文件管理器

一款基于 curses 的 Vim 风格终端文件管理器,让习惯 Vim 的用户用键盘高效管理文件。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v0.14.5
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

Vifm 是一款基于 curses 的、Vim 风格的文件管理器,并借鉴了 mutt 的一些实用设计。如果你使用 Vim,Vifm 能让你在不学习新命令集的前提下,用完整的键盘控制来管理文件。它不只是「Vim 式键位」,还提供模式、选项、寄存器、命令等你可能已经熟悉的机制。

与 Vim 一样,Vifm 遵循 Unix 哲学:不把工作方式写死,而是提供一整套手段让用户按喜好定制,同时内置功能已足以覆盖大多数使用场景。项目使用 C 编写,跨平台,许可证为 GNU GPL v2 或更高版本。


更多截图见 gallery。

主要功能

  • 基于 curses 的终端界面,纯键盘操作,键位、模式、选项、寄存器、命令均沿用 Vim 习惯
  • 借鉴 mutt 的实用设计,并提供丰富的可定制能力
  • 配有 Vim 插件(vifm.vim)与维护中的配色方案(vifm-colors)
  • 可选的图片预览方案:vifmimg(借助 Überzug)、sixel 预览(适用于支持 Sixel 的终端)、thu.sh(Sixel 或 Kitty)
  • 可选的 devicons / favicons 图标支持
  • 示例配置:vifmrc

安装与使用

多数系统可直接用包管理器安装:

系统 / 包管理器 命令
Alpine apk add vifm
Arch 及衍生版 pacman -S vifm
Debian 及衍生版 apt install vifm
Fedora 及衍生版 dnf install vifm 或 yum install vifm
FreeBSD pkg install vifm
Gentoo emerge vifm
Guix guix package -i vifm
Linuxbrew brew install vifm
NetBSD pkg_add vifm 或 pkgin install vifm
Nix nix-env -i vifm
OpenBSD pkg_add vifm
OpenSUSE zypper install vifm
Slackware sbopkg -i vifm
macOS brew install vifm 或 port install vifm

AppImage(Linux)

如果所用发行版没有打包 Vifm,或提供的版本过旧,可以用 AppImage,免去从源码编译。该方法需要系统较新(十年以内)且内核支持 FUSE,并把下载的文件标记为可执行。以下命令会把最新版本的 AppImage 下载为 ~/.local/bin/vifm:

curl + sed:

curl -Lso ~/.local/bin/vifm \
    "https://github.com/vifm/vifm/releases/latest/download/vifm-v$(
        curl -Ls "https://api.github.com/repos/vifm/vifm/releases/latest" |
        sed -nE '/"tag_name":/s/.*"v*([^"]+)".*/\1/p'
    )-x86_64.AppImage" && chmod +x ~/.local/bin/vifm

wget + jq:

wget -qO ~/.local/bin/vifm "$(
        wget -qO - "https://api.github.com/repos/vifm/vifm/releases/latest" |
        jq -r '.assets[] | select(.name|endswith(".AppImage")) | .browser_download_url'
    )" && chmod +x ~/.local/bin/vifm

上手建议

可以快速浏览主模式(Normal 模式)的 cheatsheet,阅读 wiki 手册 中关于基础用法的章节,并查看示例配置文件(运行 :edit $MYVIFMRC)。

注意事项

  • AppImage 方式在 v0.15 之前不包含 vifm-pause 等辅助脚本,这类脚本会被 :!! 用到。
  • v0.14.5 修复了 CVE-2026-110237:在类 Unix 系统上,本地用户可能向其他用户的 Vifm 实例发送命令。把 $TMPDIR、$TEMP、$TEMPDIR 或 $TMP 指向仅当前用户可写的位置即可阻止该问题,但必须在 Vifm 之外设置(写进 vifmrc 中的 let $TMPDIR = ... 不会生效)。
  • 项目采用 GNU GPL v2 或更高版本。

本作品整理自 GitHub 开源项目 vifm/vifm,原作者 @vifm,许可证 GPL-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.14.5当前版本

    v0.14.x 系列的又一个小版本,主要为修复 CVE-2026-110237(本地用户可能向其他用户的 Vifm 实例发送命令),并回移了更完整的文档与若干缺陷修复。

评论