21K Star、仅100KB的终端文件管理器nnn
21K Star、仅100KB的终端文件管理器nnn
终端文件管理器nnn在GitHub上拿到了2.1万Star。二进制大约100KB,运行时内存占用不到3.5MB。如果你每天在终端里待很久,这东西解决了一个实际场景:不用切出命令行就能管理文件,打断思路的次数会少很多。

核心设计:极致轻量,零配置
nnn用纯C写成,遵循Linux内核编码规范。文件大小的计算都用整数运算,不碰浮点单元。代码经过静态分析检查。
结果就是二进制控制在100KB左右,几乎零依赖。编译简单,能跑在树莓派、Android的Termux、WSL、macOS、各种BSD变体上,甚至8色终端都行。
更大的亮点是零配置。没有配置文件,行为通过环境变量和命令行参数控制,默认值已经合理到不用改。装完就能上手。
功能覆盖:从浏览到批处理都在终端完成
nnn有三种主要模式。默认模式适合日常浏览,详情模式显示权限和时间戳。磁盘分析模式直接在终端里画目录占用图。还有文件选择模式,配合vim和neovim使用。
导航设计是"打字即导航",输入字符自动过滤并定位。多标签页支持自定义颜色。书签和会话功能用来记住常用目录。
搜索提供了三种过滤方式:即时过滤、模糊搜索、正则。子树搜索插件可以递归搜一个目录下的所有内容并直接打开。
操作侧也做得够用:批量重命名、跨目录多选、创建目录树、复制移动删除归档、选中后一键复制路径到剪贴板。操作完成后弹出通知。集成了FreeDesktop标准的回收站,删文件先进垃圾桶。
插件系统:不限语言的扩展机制
nnn的插件用任何语言都能写,不绑定技术栈。官方仓库里的插件覆盖了不少场景:
实时预览在终端里看文本和图片。磁盘挂载处理外部设备。文件对比调diff。上传插件传文件到远程。缩略图插件给多媒体文件生成预览。
社区维护的补丁框架里有图标、emoji等非核心功能,按需编译即可加入。
为什么开发者买账
三个原因。
第一,零配置带来的低心智负担。装上就用,不用写任何配置文件。默认快捷键很直觉:箭头导航,斜杠过滤,q退出。
第二,退出时自动cd。你在nnn里浏览到某个目录然后按q,shell的工作目录自动切过去。这意味着nnn融入命令行工作流没有缝隙。
第三,终端原生带来的效率。对习惯在命令行处理一切的人,切到图形界面找文件是打断心流的操作。nnn让你留在终端里完成文件管理。
实际体验
箭头键、斜杠、q就能完成绝大多数操作,按问号看完整快捷键。纯CLI环境里搭配nuke插件和-c参数体验更好。
有一点需要接受:nnn不追求好看的界面。习惯了图形文件管理器的人上手有一段适应期。但它的目标用户本来就不在乎这个,极简本身就是吸引力。

nnn在Linux社区认可度很高。ArchWiki收录了它,Linux Format和Linux Magazine做过专题,Hacker News上有多轮讨论。suckless.org把它列进了推荐工具列表。
如果你每天大量时间在终端里,nnn能让工作流更顺畅。100KB的体积,装下了一个文件管理器该有的东西。

浙公网安备 33010602011771号