一款“终端味”很重的看图工具,还在进化:FIM 为什么值得今天再看一眼

当“看图”变得越来越重,FIM 反而显得稀有
如今提到图片查看器,很多人脑海里浮现的可能是系统自带应用,或者带着云同步、AI 分类、在线编辑的一体化相册。它们好用,也漂亮,但体积越来越大、依赖越来越多,启动速度和“顺手感”常常要为功能堆叠让路。偏偏就在这个时代,一款名为 FIM——全称 Fbi IMproved——的开源图像查看器,仍在用非常“Unix”的方式讲述另一种软件哲学:够用、可定制、可组合,而且不啰嗦。
FIM 的出身就很有技术社区气质。它最初是 Linux 下 Fbi 图片查看器的补丁,后来逐渐演变成独立分支。作者 Michele Martone 公开承认它受到 VIM 这样的经典工具启发,这一点从使用方式上就看得很明显:全键盘操作、强调脚本能力、重视配置文件、允许用户把工具打磨成自己的样子。说得更直接一点,FIM 不是给“随便点两下看看图片”的人准备的,它更像是给那些把终端当工作台、把快捷键当肌肉记忆的人准备的。
这件事放在今天为什么还有意义?因为软件行业这几年正在悄悄回到一个老问题:效率到底来自更多功能,还是来自更少摩擦?FIM 给出的答案很鲜明。它不追求成为 Photoshop 的替身,也不试图做一个花哨的图库应用,而是专注于“打开图像、快速浏览、按照规则筛选、在不同环境里都能显示出来”。当一个工具愿意认真把这件小事做到极致,它反而有了难以替代的位置。
不只是轻量,它真正稀缺的是“适应环境的能力”
FIM 最让人眼前一亮的,不只是轻量,而是它对运行环境近乎执拗的兼容性。它可以用 GTK3 或 SDL 在常规图形界面里显示图片,也可以直接跑在 Linux framebuffer 上,甚至还能把图片渲染成彩色或黑白 ASCII Art。换句话说,你既可以在普通桌面里用它,也可以在极简系统、救援环境、远程 SSH 会话,甚至某些特殊嵌入式场景里继续使用它。
这种能力,在今天的“现代软件”里并不常见。大量桌面应用默认假设用户有完整图形栈、有足够资源、有稳定显示环境;一旦离开这些前提,体验就会迅速崩塌。FIM 的思路恰恰相反:先问你现在在什么环境,再决定最合适的输出模式。这种自动或手动切换显示后端的方式,听起来朴素,实际却非常实用。
尤其有意思的是它对 WebAssembly 和 Android Termux 的提及。这说明 FIM 并没有把自己困在“老 Linux 工具”的玻璃柜里,而是在尝试证明一类经典命令行工具仍有迁移到新平台的生命力。你可以把这看成一种象征:不是所有老软件都应该被重新包装成 Electron 应用,有些工具最宝贵的,恰恰就是它那种不依赖豪华运行时的韧性。
如果拿它和常见图像工具对比,feh、sxiv/nsxiv 这些老牌轻量应用会是更接近的参照物。它们同样强调轻、快、键盘友好。但 FIM 更“另类”的地方在于,它愿意把 framebuffer、ASCII 输出、脚本化控制、图像描述文件这些能力同时装进来。它不是最漂亮的那个,却可能是适应性最强、边界最宽的那个。
真正让它有味道的,是那种 VIM 式的掌控感
FIM 官网花了不少篇幅介绍教程,这其实透露出一个事实:它不是“装上就会”的傻瓜工具,但一旦学会,效率很容易让人上瘾。比如最基础的浏览,n 和 p 切换前后图片,+ 和 - 缩放,r 旋转,m 镜像,f 翻转。熟悉 VIM 的用户很快就能找到节奏:h j k l 负责移动,/ 和 ? 搜索文件名,. 重复上一步操作,: 进入命令模式。这一套交互逻辑的好处,不是“酷”,而是快,而且能形成稳定的肌肉记忆。
更妙的是,FIM 并没有把图片当成纯视觉对象,它还试图把图片变成可检索、可过滤、可标注的数据对象。用户可以给照片集合建立描述文件,把图片说明直接叠加到画面里,还能调取 EXIF 信息,例如快门、光圈、ISO,并在状态栏中自定义展示。对于整理大量照片的人来说,这不是锦上添花,而是工作流的一部分。
这里最有记者感的一点,是 FIM 对“图片档案”这个场景的理解相当老派,但非常实用。你可以给图片打标、按变量筛选,比如只看某个城市拍摄的照片;也可以先在海量图片中逐张标记,再通过 limit "!" 只查看已标记文件,退出时把结果直接输出。看到这里我会想到很多现实场景:编辑部挑图、研究者整理博物馆藏品照片、摄影爱好者筛片、服务器上快速检查批量导出的图像。今天大家动不动就谈 AI 相册和自然语言搜索,但对不少专业用户来说,一个透明、可控、可脚本化的筛选机制,反而更可靠。
一款看图工具,为什么会跟邮件、SSH 和文档转换扯上关系
FIM 另一个迷人的地方,在于它不像“单功能应用”,更像 Unix 工具链上的一个节点。官网示例里提到,它可以与 Mutt 邮件客户端联动,直接在终端环境中打开邮件附件图片;如果用户通过 SSH 远程连接,还能切换到 ASCII Art 模式继续查看。这种设计会让许多习惯现代 Web 邮箱的人有点陌生,但对于服务器管理员、终端重度用户、开源社区老兵来说,这几乎是一种久违的熟悉感:工具之间应该彼此接力,而不是各自造一个封闭花园。
配合 fimgs 包装脚本后,FIM 还可以把 PDF、PS、DVI 甚至某些文本内容转成可显示结果。这种能力当然谈不上完美,也未必适合普通消费者,但它代表的是另一种软件价值观:一件事不必都在一个 GUI 大程序里完成,多个小工具配合起来,同样能形成完整工作流。
这也是我认为 FIM 在今天值得被重新提起的原因。它提醒我们,所谓“通用性”并不一定意味着大而全,也可以意味着在复杂环境下仍然能工作、能嵌入别人的流程、能接受用户自己的改造。很多新软件在谈用户体验时,只关注界面是否精美,FIM 这种项目则在强调另一层体验:当你身处受限环境时,它是否还在;当你想自动化时,它是否配合;当你不想用鼠标时,它是否足够尊重键盘。
小众工具的价值,从来不止于用户规模
必须承认,FIM 不会成为大众爆款。它的界面不讨喜,官网甚至带着一种近乎顽固的“我就这样”的朴素气质;学习曲线也摆在那里,普通用户未必愿意为了看图去理解配置文件和命令模式。放在商业软件逻辑里,这几乎是“反产品经理”的存在。
但技术世界从来不只靠爆款推动。很多真正影响深远的工具,用户群并不庞大,却在关键场景里不可替代。编译器如此,终端编辑器如此,FIM 这样的图像工具某种程度上也是如此。它的价值不在于抢占多少桌面市场,而在于守住了一类被大厂软件不断忽视的需求:轻、稳、可脚本、低依赖、可在非常规环境中运行。
更深一层的问题是,当软件越来越依赖庞大框架、联网服务和高性能硬件时,我们是否正在失去“软件应当可理解、可控制、可组合”的传统?FIM 当然不是这个问题的唯一答案,但它是一种提醒。它告诉我们,哪怕只是一个看图工具,也可以有清晰的性格,有鲜明的工程取向,有对老派效率美学的坚持。
如果把目光拉远一点,这种项目也折射出开源世界一个令人感慨的现实:很多真正有趣、耐用、充满个人风格的软件,并不诞生于大公司战略,而是出自开发者长年累月的打磨和偏执。它们不一定有华丽发布会,没有“重新定义体验”的口号,但在你真正需要的时候,它们就在那儿,安静、可靠,还带点倔强。
这或许正是 FIM 最迷人的地方。它不是未来主义产品,却在今天这个一切都想变得更重、更智能、更平台化的时代里,让人重新想起软件原本可以有多轻,多直接,多自由。