MiddayCommander - Go 写的双面板终端文件管理器
MiddayCommander - Go 写的双面板终端文件管理器
今天推荐一个刚刚崭露头角的小众项目 —— MiddayCommander,一个用 Go 语言编写的双面板终端文件管理器。
项目简介
MiddayCommander 的设计灵感来自经典的 Midnight Commander,但采用了现代 Go 语言重新实现。它提供了熟悉的双面板界面,让文件操作变得高效直观。
- GitHub: https://github.com/kooler/MiddayCommander
- Stars: 58 ⭐
- 语言: Go
- 许可证: MIT
主要特性
双面板布局
传统但高效的双栏设计,左侧显示源目录,右侧显示目标目录,复制、移动文件一目了然。
键盘驱动操作
完整的键盘快捷键支持,无需鼠标即可完成所有文件操作:
Tab- 切换左右面板↑/↓- 移动光标Enter- 进入目录或打开文件F5- 复制文件F6- 移动文件F8/Delete- 删除文件F10- 退出程序
轻量快速
作为原生 Go 程序,启动速度快,内存占用极低,适合在远程服务器或资源受限环境中使用。
安装方式
从源码编译
git clone https://github.com/kooler/MiddayCommander.git
cd MiddayCommander
go build -o midday .
./midday
直接运行
go run . [directory]
使用场景
服务器文件管理
在没有图形界面的服务器上,MiddayCommander 提供了直观的文件操作界面:
ssh user@server
midday /var/www/html
快速批量操作
双面板设计特别适合批量复制、移动文件,比传统命令行更高效。
嵌入式/IoT 设备
由于 Go 程序的静态编译特性,MiddayCommander 可以轻松部署到各种嵌入式设备上。
技术亮点
| 特性 | 说明 |
|---|---|
| 语言 | Go 1.21+ |
| TUI 框架 | tview |
| 编译产物 | 单二进制文件,无依赖 |
| 跨平台 | Linux, macOS, Windows |
对比 Midnight Commander
| MiddayCommander | Midnight Commander | |
|---|---|---|
| 语言 | Go | C |
| Stars | 58 | 7000+ |
| 依赖 | 极少 | 较多 |
| 启动速度 | 极快 | 快 |
| 功能丰富度 | 基础功能 | 功能完善 |
MiddayCommander 的优势在于 极简的依赖 和 现代的代码架构,适合作为学习 Go TUI 开发的参考项目。
项目现状与展望
MiddayCommander 是一个 非常新的项目(2026 年 3 月创建),目前处于快速迭代阶段:
- ✅ 基础文件浏览和操作
- ✅ 双面板界面
- ✅ 键盘快捷键
- 🚧 文件搜索功能
- 🚧 配置持久化
- 🚧 插件系统
对于喜欢尝鲜的开发者来说,这是一个参与开源贡献的好机会。
总结
MiddayCommander 是一个 小而精 的终端文件管理器,它用现代 Go 语言重新诠释了经典的双面板设计。虽然功能尚不完善,但代码简洁、架构清晰,非常适合:
- 需要轻量级文件管理器的用户
- 学习 Go TUI 开发的开发者
- 想要参与早期开源项目的贡献者
如果你怀念 Midnight Commander 的操作方式,又想尝试更现代的实现,MiddayCommander 值得一试。
- GitHub: https://github.com/kooler/MiddayCommander
- 安装:
go build或直接go run .