⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/superfile-terminal-file-manager/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

平时 SSH 上服务器干活,最磨人的就是找文件。cd 进去,ls 一下,发现目录不对,再退出来换一个,一天下来这套动作能重复几十次。桌面系统上有资源管理器、有 Finder,点几下就完事,到了终端里就只剩命令。

前两天在 GitHub 上刷到 superfile,一个跑在终端里的文件管理器,Star 已经两万三千多了。看了下截图,界面做得比不少图形界面工具还讲究。

仓库首页实时截图,Star 与 Fork 计数同时可见

这条赛道不缺工具,缺的是不用先背手册的那个

README 头部的赞助入口与徽章

superfile 是用 Go 写的终端文件管理器,启动命令是 spf,MIT 协议。它 2024 年 3 月建库,更新一直很勤。macOS 和 Linux 完整支持,Windows 目前只支持一部分功能。

这一类已经有几个成熟选手,ranger、nnn、yazi 都在。superfile 的优势不在功能有多独家,而在上手成本低。界面布局接近图形界面,按键帮助按一个问号就能看,不用先背半小时手册。对天天用终端的人这不算什么,但对偶尔要上服务器翻文件的人,这一条就是分水岭。

官方演示动图

布局是按图形界面的习惯摆的,信息都在但摆得不乱

界面布局

打开之后界面分成几块。中间是文件面板,日常浏览目录就在这里;左边是侧边栏,放了常用目录、自己固定的目录,还有磁盘分区和挂载的移动硬盘;右边是预览区,光标停在图片上能直接看到内容。

底部还有三个小框,分别显示正在跑的传输进程、文件的详细元数据、以及剪贴板里当前有什么。图形界面文件管理器会给的信息,它都在终端里摆出来了,而且摆得不乱。

这套摆法本身就是它的定位。 它没有按 vim 的习惯组织界面,而是按你在 Finder 或资源管理器里养成的习惯来,所以第一次打开就能上手。

文件和面板这两块,够用也够快

文件操作

复制、剪切、粘贴、删除、重命名、新建文件和文件夹,这些基础操作全部支持,选中一批文件做批量操作也没问题。压缩包这块能把文件和文件夹打成 zip,也能直接解压手头的压缩包。

搜索支持模糊匹配,按 / 就能直接搜。最近的版本还加了多列视图,文件的修改日期、大小、权限可以并排列出来,不用一个个去看属性。

有两个小功能挺实用。一是可以指定某个后缀的文件用自己选的编辑器打开,比如 .md 固定用 Typora,.go 固定用 VS Code。二是启动的时候可以直接带文件名,输入 spf /a/b/c.txt,它会在 /a/b 目录打开并且光标直接停在 c.txt 上,省得一层层翻。

多面板

多面板是另一个提效点。按 n 新建一个文件面板,按 w 关掉当前面板,按 tab 在几个面板之间切。几个面板各开一个目录,跨面板复制粘贴文件,几次按键就完成。比如左边开着项目目录,右边开着日志目录,两边对照着搬文件会顺手很多。

主题和插件留着口子,改起来不难

内置主题比二十套还多,Catppuccin、Nord、Tokyo Night、Dracula、Gruvbox、Rose Pine 这些主流的都有,配置文件里改一行就能换,边框样式和透明背景这些细节也能调。

快捷键全部可以重新映射。习惯 vim 键位的人,官方建议直接切成 vim 版本的键位配置,hjkl 移动那套照搬过来。想知道配置文件在哪,终端里输入 spf pl 就行。

项目还留了插件机制,社区已经有人做了 Git 状态集成、系统监控、自定义命令这几类。对在项目目录里干活的人来说,文件管理器里直接看到 Git 状态,能少开一次 git status。

三条安装命令,但字体这个坑要说在前面

macOS 和 Linux 用一条 bash 命令装。

bash -c "$(curl -sLo- https://superfile.netlify.app/install.sh)"

macOS 也可以用 Homebrew。

brew install superfile

Windows 用 PowerShell,功能支持还不完整。

powershell -ExecutionPolicy Bypass -Command "Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://superfile.netlify.app/install.ps1'))"

装完在终端输入 spf 就启动了。

有一个坑要提前说。 它的图标用的是特殊的 Unicode 符号,终端字体里得有这些字形才能正常显示,不然图标会变成方块。官方建议装 Nerd Fonts 字体,装完在终端设置里切过去就好。这是它为了颜值付出的代价,也是上手前唯一需要额外准备的东西。

按键不用全记。按 ? 能调出完整帮助,按 / 能搜索文件,按 . 能显示隐藏文件,剩下最常用的就是 j k h l 或方向键移动、s 聚焦侧边栏、n 与 w 开关面板、tab 切面板,以及 q 或 esc 退出。

它适合谁,以及它比 yazi 差在哪

这个方向里已经有 ranger、nnn、yazi,superfile 的位置很清楚。它不比谁功能多,比的是不用先背半小时手册。

它适合平时工作离不开终端的人,以及偶尔要 SSH 上服务器翻文件、又不熟命令行的人。Linux 服务器上装一个,找文件和传文件的体验直接换一档。

它的短板也要说清。 Windows 支持不完整,主力机在 Windows 的话只能等等。预览能力比 yazi 弱一些,yazi 能预览 PDF 和视频,superfile 的预览目前还到不了那个程度。

仓库地址是 https://github.com/yorukot/superfile 。想先看它长什么样,官网 superfile.dev 上有分功能的演示动图和二十多张主题实拍图。最后交代一句,我没有实际安装过 superfile,上面的功能描述来自官方 README 与来源正文。

文章目录
  1. 1. 这条赛道不缺工具,缺的是不用先背手册的那个
  2. 2. 布局是按图形界面的习惯摆的,信息都在但摆得不乱
  3. 3. 文件和面板这两块,够用也够快
  4. 4. 主题和插件留着口子,改起来不难
  5. 5. 三条安装命令,但字体这个坑要说在前面
  6. 6. 它适合谁,以及它比 yazi 差在哪