MiddayCommander - Go 写的双面板终端文件管理器

今天推荐一个刚刚崭露头角的小众项目 —— MiddayCommander,一个用 Go 语言编写的双面板终端文件管理器。

项目简介

MiddayCommander 的设计灵感来自经典的 Midnight Commander,但采用了现代 Go 语言重新实现。它提供了熟悉的双面板界面,让文件操作变得高效直观。

主要特性

双面板布局

传统但高效的双栏设计,左侧显示源目录,右侧显示目标目录,复制、移动文件一目了然。

键盘驱动操作

完整的键盘快捷键支持,无需鼠标即可完成所有文件操作:

  • 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

MiddayCommanderMidnight Commander
语言GoC
Stars587000+
依赖极少较多
启动速度极快
功能丰富度基础功能功能完善

MiddayCommander 的优势在于 极简的依赖现代的代码架构,适合作为学习 Go TUI 开发的参考项目。

项目现状与展望

MiddayCommander 是一个 非常新的项目(2026 年 3 月创建),目前处于快速迭代阶段:

  • ✅ 基础文件浏览和操作
  • ✅ 双面板界面
  • ✅ 键盘快捷键
  • 🚧 文件搜索功能
  • 🚧 配置持久化
  • 🚧 插件系统

对于喜欢尝鲜的开发者来说,这是一个参与开源贡献的好机会。

总结

MiddayCommander 是一个 小而精 的终端文件管理器,它用现代 Go 语言重新诠释了经典的双面板设计。虽然功能尚不完善,但代码简洁、架构清晰,非常适合:

  • 需要轻量级文件管理器的用户
  • 学习 Go TUI 开发的开发者
  • 想要参与早期开源项目的贡献者

如果你怀念 Midnight Commander 的操作方式,又想尝试更现代的实现,MiddayCommander 值得一试。