告别单调终端:Tabby 让我工作效率翻倍的秘密
作为一名整天和终端打交道的开发者,我试过无数终端模拟器——从系统自带的 Terminal 到 iTerm2、Hyper 等等。最近半年彻底被 Tabby(原名 Terminus)圈粉,今天就来分享这个让我戒不掉的神器。
为什么选择 Tabby?
第一次知道 Tabby 是在 GitHub Trending 上看到的。吸引我的首先是它的跨平台特性(Windows/macOS/Linux 全支持),毕竟我经常需要在不同设备间切换。安装后最直观的感受是:这UI也太现代了吧! 相比黑底白字的传统终端,Tabby 的界面像 IDE 一样精致。
但真正让我留下来的,是这几个杀手级功能:
- 真正的多窗口分屏(不是简单的标签页)
- SSH 客户端内置,支持密码和密钥管理
- 超强的主题自定义能力
- 插件系统(后面会重点讲)
那些让我惊呼的实用功能
记得有次需要同时监控三个服务器的日志,传统做法要么开多个终端窗口,要么用 tmux。但在 Tabby 里,直接 Ctrl+Shift+D 垂直分屏,再 Ctrl+Shift+E 水平分屏,三个面板瞬间搞定:
# 三个面板分别执行
ssh user@server1 tail -f /var/log/app.log
ssh user@server2 tail -f /var/log/app.log
ssh user@server3 tail -f /var/log/app.log
更惊艳的是它的 持久化会话 功能。有次系统更新导致意外重启,重新打开 Tabby 时,所有工作会话(包括输入到一半的命令)都恢复了!这功能救了我好几次没 commit 的代码。
插件系统:把终端变成瑞士军刀
Tabby 的插件市场是我见过终端里最丰富的。分享几个必装插件:
- clickable-links:让终端里的 URL 和文件路径可点击
- docker:直接管理容器不用另开窗口
- title-control:智能修改窗口标题(再也不会搞混标签页)
自己还写了个小插件来自动补全公司内部命令,配置比想象中简单:
// tabby-plugin-example.js
module.exports = (ctx) => {
ctx.term.registerAutocompleteProvider(() => ({
getCompletions: async () => [
{ value: 'deploy-staging', displayValue: '部署测试环境' },
{ value: 'run-migrations', displayValue: '执行数据库迁移' }
]
}))
}
踩坑与调优心得
当然也有翻车的时候。最初在 Ubuntu 上遇到字体渲染模糊的问题,后来发现需要手动配置:
// settings.json
{
"terminal": {
"font": "Fira Code Retina",
"fontSize": 14,
"rendererType": "dom" // 关键!默认的canvas在某些Linux下有锯齿
}
}
另一个痛点是启动速度。装了20多个插件后明显变慢,后来用 --disable-plugins
参数启动排查,发现是某个主题插件拖累了性能。现在我的原则是:非必要不装插件。
为什么不选其他终端?
有读者可能会问:iTerm2 不香吗?Windows Terminal 不好用吗?我的看法是:
- VS iTerm2:Tabby 的跨平台同步配置更胜一筹
- VS Windows Terminal:Tabby 的 SSH 管理更专业
- VS Hyper:Tabby 的性能明显更好
当然,如果你只用 Mac 且不需要复杂功能,iTerm2 仍是稳妥选择。但像我这样的多平台用户,Tabby 确实是目前找到的最佳平衡点。
总结
用了 Tabby 半年多,最深的感受是:好的工具应该让人忘记工具本身。它不会像某些花哨的终端那样分散注意力,而是在需要时提供恰到好处的助力。如果你也厌倦了传统终端的简陋,不妨给 Tabby 一个机会——反正卸载也就 10 秒的事 😉
你在用什么终端工具?有没有特别想安利的功能?欢迎在评论区交流!
Tabby的分屏功能真的香,现在写代码效率提高了不少!