Title here
Summary here
lazygit是一个Go编写的终端下的git TUI客户端,丰富的快捷键操作非常快速,同时也支持鼠标切换标签。
lazygit的tui是作者基于tcell实现的gocui。
基于tcell的终端程序还有lf,fzf等。
三个都是终端下的文件浏览器
项目 | lf | ranger | nnn |
---|---|---|---|
启动速度 | 🚀 非常快(Go 编写) | 🐢 较慢(Python 写的) | 🚀 极快(C 语言编写) |
响应速度 | 非常流畅 | 偶尔有卡顿 | 极速、适合大目录操作 |
占用资源 | 较低 | 较高 | 极低,适合老机器/服务器 |
多窗格浏览 | ✅(主+预览) | ✅(3窗格:父、当前、子) | ✅(分栏少,但支持目录跳转) |
文件预览 | ✅(需配置 preview script) | ✅(内置很多 preview 支持) | ✅(需配合 preview-tui.sh) |
图片/视频预览 | ✅(配合 ueberzug 或 chafa) | ✅(同上) | ✅(同上,但依赖少) |
Vim 风格操作 | ✅ | ✅ | ✅(也支持 Emacs) |
标签/书签 | ✅ | ✅ | ✅ |
文件操作 | ✅(重命名、复制、移动等) | ✅ | ✅(甚至可以当微型终端用) |
插件机制 | ❌(通过 shell script 扩展) | ✅(插件生态丰富) | ✅(插件多,甚至可以当终端启动器) |
项目 | lf | ranger | nnn |
配置语言 | Shell 脚本 + 配置文件 | Python + rc.conf | 环境变量 + 插件脚本 |
插件支持 | 有,但无统一插件系统 | ✅ 丰富的插件体系(ranger devtools) | ✅ 多个官方/社区插件(集成在文档中) |
外部命令集成 | ✅ 强依赖 shell | ✅ 也依赖 shell | ✅ 支持通过插件调用外部程序 |
脚本自由度 | 很高(你爱怎么写就怎么写) | 非常高(Python 可玩性高) | 一定程度受限,但也足够强大 |