[Alan の手札] 如何把终端变成主力工作台:Ghostty、tmux、Neovim 到 Claude 一次打通
如何把终端变成主力工作台:Ghostty、tmux、Neovim 到 Claude 一次打通
Miasma 终端工作流配置与改造说明
1. 背景
Tabby / Ghostty / Warp / Kaku / Cmux …… 甚至还有那个古老但始终绕不开的 iTerm。
这几年,终端来来回回折腾了不少。
有的 UI 很惊艳,有的功能很激进,有的把 AI、工作流、协作、分屏、插件全都堆了进去。
尤其到了现在,开始频繁配合 Claude Code、Codex、OpenCode 这些 CLI Agent 使用之后,终端已经不只是一个“跑命令”的地方了,它越来越像一个真正的工作空间。
可奇怪的是——
折腾一圈下来,始终没有哪个终端,能真正让我彻底停下来。
Warp 很现代,最近也开源了,但总觉得太“重”;
Tabby 很全能,但少了点气质;
iTerm 功能依旧恐怖,可年代感已经藏不住;
Kaku、Cmux 这些新东西也都试过,甚至一度觉得自己终于找到了答案。
但最后,打开最多、用得最顺手、真正形成肌肉记忆的,还是 Ghostty。
它不一定功能最多。
甚至很多地方还很“克制”。
但也正因为这种克制,它更像一个现代 Unix 终端该有的样子:
快、轻、安静、稳定。
不打扰你,但始终在那。
尤其配上 tmux、Neovim、Starship,再加上现在这些 AI CLI 工具之后,整个工作流开始慢慢有了点“理想终端”的味道。
所以准备再重新折腾一轮。
这次不再是单纯追求功能堆叠,
而是想认真整理一套:
真正适合 AI Coding 时代的终端工作流。

这次改造的目标,不是单独美化某一个工具,而是把终端开发环境整理成一套统一工作流:
- Ghostty 负责终端外观与原生分屏
- tmux 负责会话、窗格、工作区管理
- Neovim 作为主力编辑器 / IDE
- lazygit 作为 Git TUI
- Yazi 作为终端文件管理器
- btop 作为系统监控面板
- Claude 作为 AI 辅助窗口
- Starship 作为 prompt,但后续由用户自行维护,不再纳入本次托管范围
这套方案的核心思路是:统一主题、统一键位、统一入口、统一心智模型。打开终端后,尽量让“写代码、看 Git、跑命令、开 AI、看资源状态”都在一个操作体系里完成。
2. 目标
本次配置与整理主要解决 4 个问题:
- 终端工具很多,但视觉与交互割裂
- 分屏、切窗、开工具没有统一快捷键
- 需要一套更偏 Vim / power-user 的操作方式
- 需要把实施过程、文件路径、用途、优势与相关资料正式落盘
最终目标是形成一套可复用的 Miasma 风格终端工作流说明文档,并保留实际配置路径。
3. 本次落地的配置范围
注:
starship目前由用户自行维护,因此本文只记录它在整体工作流中的角色,不覆盖其最终配置内容。
组件
配置文件
本次状态
作用
Ghostty~/.config/ghostty/config
已创建并精修
终端主题、字体、透明度、原生分屏快捷键
tmux~/.tmux.conf
已创建
会话管理、窗格管理、工具入口
Neovim~/.config/nvim/init.lua
已创建
最小启动入口
Neovim~/.config/nvim/lua/config/lazy.lua
已创建lazy.nvim
bootstrap
Neovim~/.config/nvim/lua/plugins/miasma.lua
已创建
Miasma 主题插件加载
lazygit~/.config/lazygit/config.yml
已创建
Git TUI 主题与编辑器设置
Yazi
无强制配置文件
已纳入文档
终端文件管理与文件预览
btop~/.config/btop/themes/miasma.theme
已创建
btop 主题文件
btop~/.config/btop/btop.conf
已创建
默认启用 miasma 主题
zsh~/.zshrc
已增量修改EDITOR
/ VISUAL / eza / bat / zoxide 接入
Starship~/.config/starship.toml
用户自管
Prompt 统一入口,可选 Tokyo Night / Catppuccin 等预设
fastfetch / fzf / zoxide / helix
见各自默认路径
已纳入文档
辅助系统信息、路径跳转、模糊搜索与轻量编辑
4. 关键设计思路
4.1 一层解决“外观”,一层解决“工作流”
- Ghostty 解决终端窗口的观感:主题、字体、透明度、原生分屏
- tmux 解决真正的工作流组织:窗格切换、尺寸调整、会话保持、工具窗口入口
这样分工有一个明显好处:
- Ghostty 原生体验顺滑,适合快速开分屏
- tmux 更稳定,适合长期驻留开发会话
- 两者职责清晰,不会互相抢活
4.2 统一成 Vim 风格操作
tmux 采用:
Ctrl + A作为 prefixPrefix + h/j/k/l进行窗格移动Prefix + H/J/K/L调整窗格大小
这和 Neovim 的方向键习惯一致,能明显减少切换成本。
4.3 把高频工具做成“入口型窗口”
通过 tmux 直接拉起:
Prefix + g→lazygitPrefix + n→nvimPrefix + b→btopPrefix + c→claude
这样打开工具不是“想命令”,而是“按入口”。长期使用时,效率提升会非常明显。
5. 配置过程记录
5.1 初始目标
最初希望统一生成以下配置:
1 | `~/.config/ghostty/config |
并统一键位:
1 | `Cmd + D Ghostty 右分屏 |
5.2 检查本机现状
实际检查结果:
Ghostty配置不存在,需要新建tmux配置不存在,需要新建Starship配置已存在.zshrc已有大量历史内容,需要避免粗暴覆盖Neovim配置目录不存在,需要做最小 bootstrap
5.3 修改策略
这次改造采用的是:
- 能增量就增量
- 能备份就先备份
- 尽量保留已有环境
已做过的备份:
1 | `~/.config/starship.toml.bak.20260510-081944 |
5.4 tmux 的一个关键冲突修正
原始需求里:
- 既想保留
Prefix + c打开 Claude - 又沿用了 tmux 默认“新建窗口”的语义
这两者会冲突,所以最终做了一个更顺手的取舍:
Prefix + c→ ClaudePrefix + Enter→ 新建普通窗口
这个映射更符合“工具入口化”的整体设计。
5.5 Ghostty 精修
最终 Ghostty 调整为:
- 主题:
Miasma - 字体:
JetBrainsMono Nerd Font Mono - 字号:
15 - 透明度:
0.88 - 背景模糊:
28 - 窗口边距:
12 x 10 - 光标:闪烁 bar
- 鼠标输入时隐藏
- 选中即复制到系统剪贴板
- 开启 zsh shell integration
- 添加快捷键:右分屏、下分屏、分屏缩放、平均分配、重载配置
5.6 补充,一套更偏开箱即用的安装清单
如果目标是从零快速搭一套现代终端环境,可以直接先装下面这些。
1 | `brew install ghostty yazi lazygit \ |
如果还要补全 prompt、彩色 ls 和监控工具,可以继续装:
1 | `brew install starship eza fastfetch btop helix` |
这里的分工可以简单记成:
Ghostty管终端与分屏Yazi管文件浏览与预览lazygit管 Gitfzf + zoxide管搜索与跳转fastfetch + btop管系统信息与监控helix管轻量临时编辑
6. 当前关键配置摘要
6.1 Ghostty
文件:~/.config/ghostty/config
1 | `theme = Miasma |
6.2 tmux
文件:~/.tmux.conf
1 | `unbind C-b |
6.3 Neovim Miasma
文件:~/.config/nvim/lua/plugins/miasma.lua
1 | `return { |
6.4 lazygit
文件:~/.config/lazygit/config.yml
作用:统一颜色、启用 delta 作为 pager、默认编辑器切到 nvim。
6.5 btop
文件:
1 | `~/.config/btop/themes/miasma.theme |
作用:把 btop 的监控面板颜色统一成 Miasma 风格,并直接设为默认主题。
6.6 Yazi
Yazi 是这套工作流里非常值得补上的一个工具。它本质上是一个终端文件管理器,但体验并不是传统意义上那种笨重的 TUI 文件浏览器,而是更像一个特别轻、特别快、预览能力很强的终端 Finder。
它最有价值的点有两个:
- 在终端里直接看目录结构,不需要跳回图形界面
- 可以直接预览文本、代码、图片,特别适合和 Claude / shell / Git 流程并排使用
最基础的使用方式非常简单:
1 | `yazi` |
常见动作:
- 方向键 /
j``k移动 - 回车进入目录或打开文件
q退出
6.7 Starship 可选 Tokyo Night 方向
虽然当前 starship.toml 按用户自管处理,但如果想快速切到 Tokyo Night 风格,可以直接用官方预设。
1 | `# 先备份现有配置 |
如果更喜欢更强的 powerline 视觉,也可以考虑:
1 | `starship preset gruvbox-rainbow -o ~/.config/starship.toml |
最基础的 shell 接入仍然是把下面这行放在 ~/.zshrc 末尾:
1 | `eval"$(starship init zsh)"` |
6.8 Ghostty 的 Tokyo Night 可选思路
当前主文档走的是 Miasma 方案,但如果后面你想切成更现代、更高对比的 Tokyo Night,也完全可行。
保守做法不是推翻现有工作流,而是只替换这三层:
- Ghostty 主题
- Starship 预设
- 字体仍然保留
JetBrains Mono Nerd Font
这样分屏、tmux、lazygit、Yazi、Claude 的工作流都不用重建,只是整体视觉换皮。
7. 这一套怎么用
7.1 日常启动方式
推荐启动顺序:
1 | `Ghostty |
典型动作:
- 打开 Ghostty
- 进入或创建 tmux 会话
- 在 tmux 中按快捷键拉起各类工作窗口
- 用 Ghostty 原生分屏做更轻量的并排操作
- 用 tmux 保持长期工作会话不丢失
7.2 最常用快捷键
Ghostty
快捷键
作用Cmd + D
右分屏Cmd + Shift + D
下分屏Cmd + Shift + Enter
放大 / 取消放大当前分屏Cmd + Ctrl + =
平均分配分屏Cmd + Shift + ,
重载 Ghostty 配置
tmux
快捷键
作用Ctrl + A
tmux prefixPrefix + h/j/k/l
切换窗格Prefix + H/J/K/L
调整窗格大小Prefix + Enter
新建普通窗口Prefix + g
打开 lazygitPrefix + n
打开 NeovimPrefix + b
打开 btopPrefix + c
打开 ClaudePrefix + r
重载 tmux 配置
7.3 一个推荐工作场景
场景:功能开发 + Git 提交 + AI 辅助
可以这样组织:
- 左侧:
nvim - 右上:shell / 测试命令
- 右下:
claude或lazygit - 需要看资源占用时,单独开一个
btop窗口
这样你不需要在一堆 App 之间来回切,绝大多数开发动作都在一个体系里闭环。
场景:Ghostty 三窗格演示布局
这是一套非常适合展示和日常开发并存的布局:
- 在 Ghostty 主窗口里运行
claude - 按
Cmd + D在右侧再开一个窗格,运行fastfetch - 回到左侧窗格,按
Cmd + Shift + D在下方开一个窗格,运行btop
结果大概是:
- 左上,AI 助手 / shell 主工作区
- 右侧,系统摘要或临时信息
- 左下,资源监控
这个布局很适合一边开发、一边问 AI、一边盯机器状态。
8. 每个组件是干什么用的
组件
主要用途
为什么放进这套里
Ghostty
终端显示层、原生分屏、外观控制
启动快、渲染好、配置现代化
tmux
会话保持、窗格与窗口管理
断线不丢、项目切换稳定、工作区组织能力强
Neovim
编辑代码、查找、跳转、重构
键盘驱动效率高,和 tmux 心智一致
lazygit
Git 状态、stage、commit、log、rebase
比纯命令行更直观,比 GUI 更轻
Yazi
终端文件浏览、预览图片/代码/文档
不离开终端就能看文件,和 AI 流程配合特别顺
btop
看 CPU / 内存 / 进程 / 网络
监控信息集中,排查卡顿或异常方便
fastfetch
快速展示系统信息摘要
适合开场展示、排障前快速看机器环境
Claude
AI 问答、辅助编码、解释代码、生成草稿
减少切浏览器和 IDE 插件的来回跳转
Starship
显示当前目录 / Git 分支 / 状态
保证命令行提示信息简洁统一
zoxide
智能目录跳转
经常进的目录可以瞬间到达
fzf
模糊搜索器
查历史命令、筛列表、接各种 CLI 工作流
helix
轻量终端编辑器
临时改文件时开箱即用,不想进完整 Neovim 时很好用
9. 这一套的优势是什么
9.1 统一性强
不是单点美化,而是:
- 颜色统一
- 键位统一
- 工具入口统一
- Vim 操作风格统一
长期使用时,这种统一感本身就是效率。
9.2 开发闭环更完整
从写代码到提交 Git,再到看监控、问 AI,基本都能在终端里完成。
这意味着:
- 更少上下文切换
- 更少鼠标依赖
- 更强的专注感
9.3 更适合长期驻留工作流
tmux 的价值不只是分屏,而是“工作会话常驻”:
- 一组项目窗口可以持续保留
- 重新进来时还能接着上次工作状态继续
- 对多项目切换、长时间运行任务尤其友好
9.4 与 Neovim / power-user 生态天然契合
如果你的核心开发环境已经偏向:
- Vim 键位
- 终端优先
- CLI 工具链
- AI 辅助开发
那么这套方案会很顺手,因为它本质上是在做“终端工作台工程化”。
10. 风险点与注意事项
10.1 Starship 已改为用户自管
前期曾写入 ~/.config/starship.toml,但当前口径以用户自定义为准。后续如果继续整理整套配置,应把 Starship 视为“接入点”,而不是“强托管配置”。
10.2 Claude 命令需要本机可执行
tmux 中的:
1 | `bind c new-window -n claude "claude"` |
依赖本机存在 claude 命令。如果未来命令名、路径或调用方式变了,需要同步更新。
10.3 Ghostty 与 tmux 不要重复承担同一职责
建议的使用方式是:
- Ghostty 原生分屏:轻量、快速、偏窗口层
- tmux:长期工作区与会话层
不要把两层都当成“唯一分屏系统”,否则容易把自己的心智模型绕乱。
10.4 Neovim 当前是最小启动骨架
当前 Neovim 只是补了:
init.lualazy.nvimbootstrapmiasma.nvim主题加载
如果后续要真正做成主力 IDE,还需要继续补:
- LSP
- Treesitter
- Telescope / fzf 集成
- 补全
- 格式化
- 调试
11. 后续可继续增强的方向
11.1 给 tmux 增加 session/workspace 层封装
例如新增:
- 项目启动脚本
- 固定布局恢复
- 自动命名 session
- 一键进入常用项目工作区
11.2 给 Claude 增加更稳定的集成方式
如果 claude 命令未来不稳定,可以考虑:
- 包装成 shell function
- 单独做启动脚本
- 在 tmux 中打开固定 AI pane
11.3 继续补强 Neovim IDE 能力
建议后续建设方向:
- Git signs
- LSP 诊断
- 搜索与跳转
- 自动格式化
- AI 辅助插件接入
11.4 补一份“从零装机到可用”的 bootstrap 文档
当前文档偏向“配置说明与改造记录”,后续还可以再补一篇:
- 从安装依赖
- 到写入配置
- 到验证结果
- 到截图展示
形成更完整的环境搭建手册。
12. 相关文档
12.1 本机配置文件
1 | `~/.config/ghostty/config |
12.2 常用命令速查表
一键安装
1 | `brew install ghostty yazi lazygit \ |
Ghostty
1 | `# 打开 Ghostty 配置 |
Ghostty 常用快捷键:
快捷键
功能Cmd + D
左右分屏Cmd + Shift + D
上下分屏Cmd + Shift + Enter
最大化 / 还原当前窗格Cmd + W
关闭当前窗格Cmd + Shift + ,
重新加载配置Cmd + Q
完全退出 Ghostty
tmux
1 | `# 启动新会话 |
Neovim
1 | `# 打开当前目录 |
Yazi
1 | `# 打开当前目录文件管理器 |
常用操作:
q退出- 回车进入目录或打开文件
j/k上下移动- 适合搭配图片、代码、文档预览一起用
lazygit
1 | `# 在当前仓库打开 lazygit |
btop / fastfetch
1 | `# 打开监控面板 |
Claude
1 | `# 在终端中打开 Claude |
Starship
1 | `# 备份当前配置 |
~/.zshrc 中的基础接入:
1 | `eval"$(starship init zsh)"` |
zoxide
1 | `# 初始化(写入 ~/.zshrc) |
fzf
1 | `# 安装后补全与快捷键接入 |
最常用的是:
Ctrl + R搜索历史命令Esc退出当前 fzf 面板
helix
1 | `# 启动 helix |
如果想给 hx 起个更顺手的名字,可以在 ~/.zshrc 里加:
1 | `alias svim='hx'` |
Shell / CLI 增强工具
1 | `# 更好看的 ls |
配置文件编辑入口
1 | `nvim ~/.config/ghostty/config |
12.3 官方文档
- Terminal Colors Gallery: https://terminalcolors.com/
- Ghostty Docs: https://ghostty.org/docs
- Ghostty Keybindings: https://ghostty.org/docs/config/keybind
- Ghostty Config Reference: https://ghostty.org/docs/config/reference
- tmux Manual: https://man.openbsd.org/tmux
- lazygit Docs: https://github.com/jesseduffield/lazygit
- Yazi Docs: https://yazi-rs.github.io/
- btop Docs: https://github.com/aristocratos/btop
- fastfetch Docs: https://github.com/fastfetch-cli/fastfetch
- lazy.nvim Docs: https://github.com/folke/lazy.nvim
- miasma.nvim: https://github.com/xero/miasma.nvim
- Starship Docs: https://starship.rs
- zoxide Docs: https://github.com/ajeetdsouza/zoxide
- fzf Docs: https://github.com/junegunn/fzf
- helix Docs: https://helix-editor.com/
- eza Docs: https://github.com/eza-community/eza
- bat Docs: https://github.com/sharkdp/bat
12.4 当前工作区内可补充参考的文档方向
如果后续想继续沉淀,可以再补这些文档:
Ghostty 键位与分屏习惯清单tmux 工作区布局规范Neovim 主力 IDE 插件清单Claude in terminal 的使用约定终端工作流从零安装手册
13. 结论
这次改造的真正价值,不是把终端换成了 Miasma 颜色,而是把一组零散工具收成了一套统一工作流:
- Ghostty 管外观与轻量分屏
- tmux 管会话与工作区
- Neovim 管编辑
- lazygit 管 Git
- btop 管监控
- Claude 管 AI 辅助
它的优势在于:统一、稳定、低切换成本、适合长期驻留开发。如果后续再把 tmux workspace、Neovim IDE 能力和 Claude 集成继续补强,这套环境就会从“顺手”进一步升级到“真正可持续复用的个人主力工作台”。
[#Ghostty]()``[#tmux]()``[#Neovim]()``[#lazygit]()``[#btop]()``[#Claude]()``[#TerminalWorkflow]()``[#EngineeringPractice]()``[#KnowledgeBase]()
本文转载自微信公众号,如有侵权请联系删除。
- 标题: [Alan の手札] 如何把终端变成主力工作台:Ghostty、tmux、Neovim 到 Claude 一次打通
- 作者: lxiol
- 创建于 : 2026-06-20 01:24:44
- 更新于 : 2026-06-20 01:24:44
- 链接: https://blog.lxiol.cn/2026/06/20/Alan-の手札-如何把终端变成主力工作台GhosttytmuxNeovim-到-Claude-一次打通/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。