2026年5月10日 · 阅读 —
Miasma 终端工作流配置与改造说明
!image-20260510013236756.png
Miasma 终端工作流配置与改造说明
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 时代的终端工作流。
1. 背景
这次改造的目标,不是单独美化某一个工具,而是把终端开发环境整理成一套统一工作流:
- 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 初始目标
最初希望统一生成以下配置:
~/.config/ghostty/config
~/.tmux.conf
~/.config/starship.toml
~/.config/lazygit/config.yml
~/.config/nvim/lua/plugins/miasma.lua
并统一键位:
Cmd + D Ghostty 右分屏
Cmd + Shift + D Ghostty 下分屏
Ctrl + A tmux prefix
Prefix + h/j/k/l tmux 窗格移动
Prefix + H/J/K/L tmux 窗格调整
Prefix + g lazygit
Prefix + c Claude
Prefix + n Neovim
5.2 检查本机现状
实际检查结果:
Ghostty配置不存在,需要新建tmux配置不存在,需要新建Starship配置已存在.zshrc已有大量历史内容,需要避免粗暴覆盖Neovim配置目录不存在,需要做最小 bootstrap
5.3 修改策略
这次改造采用的是:
- 能增量就增量
- 能备份就先备份
- 尽量保留已有环境
已做过的备份:
~/.config/starship.toml.bak.20260510-081944
~/.zshrc.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 补充,一套更偏开箱即用的安装清单
如果目标是从零快速搭一套现代终端环境,可以直接先装下面这些。
brew install ghostty yazi lazygit \
ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide imagemagick
brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font
如果还要补全 prompt、彩色 ls 和监控工具,可以继续装:
brew install starship eza fastfetch btop helix
这里的分工可以简单记成:
Ghostty管终端与分屏Yazi管文件浏览与预览lazygit管 Gitfzf + zoxide管搜索与跳转fastfetch + btop管系统信息与监控helix管轻量临时编辑
6. 当前关键配置摘要
6.1 Ghostty
文件:~/.config/ghostty/config
theme = Miasma
font-family = JetBrainsMono Nerd Font Mono
font-size = 15
background-opacity = 0.88
background-blur = 28
window-padding-x = 12
window-padding-y = 10
window-save-state = always
cursor-style = bar
cursor-style-blink = true
copy-on-select = clipboard
shell-integration = zsh
keybind = super+d=new_split:right
keybind = super+shift+d=new_split:down
keybind = super+shift+enter=toggle_split_zoom
keybind = super+ctrl+==equalize_splits
keybind = super+shift+comma=reload_config
6.2 tmux
文件:~/.tmux.conf
unbind C-b
set -g prefix C-a
bind C-a send-prefix
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
bind g new-window -n lazygit "lazygit"
bind n new-window -n nvim "nvim"
bind b new-window -n btop "btop"
bind c new-window -n claude "claude"
bind Enter new-window -c "#{pane_current_path}"
6.3 Neovim Miasma
文件:~/.config/nvim/lua/plugins/miasma.lua
return {
{
"xero/miasma.nvim",
lazy = false,
priority = 1000,
config = function()
vim.cmd.colorscheme("miasma")
end,
},
}
6.4 lazygit
文件:~/.config/lazygit/config.yml
作用:统一颜色、启用 delta 作为 pager、默认编辑器切到 nvim。
6.5 btop
文件:
~/.config/btop/themes/miasma.theme
~/.config/btop/btop.conf
作用:把 btop 的监控面板颜色统一成 Miasma 风格,并直接设为默认主题。
6.6 Yazi
Yazi 是这套工作流里非常值得补上的一个工具。它本质上是一个终端文件管理器,但体验并不是传统意义上那种笨重的 TUI 文件浏览器,而是更像一个特别轻、特别快、预览能力很强的终端 Finder。
它最有价值的点有两个:
- 在终端里直接看目录结构,不需要跳回图形界面
- 可以直接预览文本、代码、图片,特别适合和 Claude / shell / Git 流程并排使用
最基础的使用方式非常简单:
yazi
常见动作:
- 方向键 /
jk移动 - 回车进入目录或打开文件
q退出
6.7 Starship 可选 Tokyo Night 方向
虽然当前 starship.toml 按用户自管处理,但如果想快速切到 Tokyo Night 风格,可以直接用官方预设。
# 先备份现有配置
cp ~/.config/starship.toml ~/.config/starship.toml.bak 2>/dev/null || true
# 应用 Tokyo Night 预设
starship preset tokyo-night -o ~/.config/starship.toml
如果更喜欢更强的 powerline 视觉,也可以考虑:
starship preset gruvbox-rainbow -o ~/.config/starship.toml
starship preset catppuccin-powerline -o ~/.config/starship.toml
最基础的 shell 接入仍然是把下面这行放在 ~/.zshrc 末尾:
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 日常启动方式
推荐启动顺序:
Ghostty
└── tmux
├── shell
├── nvim
├── lazygit
├── btop
└── claude
典型动作:
- 打开 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 prefix |
Prefix + h/j/k/l | 切换窗格 |
Prefix + H/J/K/L | 调整窗格大小 |
Prefix + Enter | 新建普通窗口 |
Prefix + g | 打开 lazygit |
Prefix + n | 打开 Neovim |
Prefix + b | 打开 btop |
Prefix + c | 打开 Claude |
Prefix + 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 中的:
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 本机配置文件
~/.config/ghostty/config
~/.tmux.conf
~/.config/lazygit/config.yml
~/.config/btop/themes/miasma.theme
~/.config/btop/btop.conf
~/.config/nvim/init.lua
~/.config/nvim/lua/config/lazy.lua
~/.config/nvim/lua/plugins/miasma.lua
~/.zshrc
~/.config/starship.toml
12.2 常用命令速查表
一键安装
brew install ghostty yazi lazygit \
ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide imagemagick
brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font
brew install starship eza fastfetch btop helix
Ghostty
# 打开 Ghostty 配置
open ~/.config/ghostty/config
# 查看可用主题
ghostty +list-themes
# 查看可用字体
ghostty +list-fonts
# 查看默认快捷键
ghostty +list-keybinds --default
# 校验/展示当前配置
ghostty +show-config --config-file ~/.config/ghostty/config
Ghostty 常用快捷键:
| 快捷键 | 功能 |
|---|---|
Cmd + D | 左右分屏 |
Cmd + Shift + D | 上下分屏 |
Cmd + Shift + Enter | 最大化 / 还原当前窗格 |
Cmd + W | 关闭当前窗格 |
Cmd + Shift + , | 重新加载配置 |
Cmd + Q | 完全退出 Ghostty |
tmux
# 启动新会话
tmux new -s main
# 查看会话列表
tmux ls
# 进入已有会话
tmux attach -t main
# 后台保留当前会话(快捷键)
# Ctrl + A 然后按 d
# 重载 tmux 配置
tmux source-file ~/.tmux.conf
# 杀掉指定会话
tmux kill-session -t main
Neovim
# 打开当前目录
nvim .
# 打开单文件
nvim <file>
# 首次拉起 lazy.nvim / 插件
nvim
Yazi
# 打开当前目录文件管理器
yazi
# 打开指定目录
yazi ~/Downloads
常用操作:
q退出- 回车进入目录或打开文件
j/k上下移动- 适合搭配图片、代码、文档预览一起用
lazygit
# 在当前仓库打开 lazygit
lazygit
btop / fastfetch
# 打开监控面板
btop
# 查看系统摘要
fastfetch
Claude
# 在终端中打开 Claude
claude
Starship
# 备份当前配置
cp ~/.config/starship.toml ~/.config/starship.toml.bak 2>/dev/null || true
# 应用 Tokyo Night 预设
starship preset tokyo-night -o ~/.config/starship.toml
# 应用 Gruvbox Rainbow 预设
starship preset gruvbox-rainbow -o ~/.config/starship.toml
# 应用 Catppuccin Powerline 预设
starship preset catppuccin-powerline -o ~/.config/starship.toml
~/.zshrc 中的基础接入:
eval "$(starship init zsh)"
zoxide
# 初始化(写入 ~/.zshrc)
eval "$(zoxide init zsh)"
# 智能跳转
z claude
z Downloads
z Alan-Workspace
fzf
# 安装后补全与快捷键接入
$(brew --prefix)/opt/fzf/install
最常用的是:
Ctrl + R搜索历史命令Esc退出当前 fzf 面板
helix
# 启动 helix
hx
# 学习 tutor
hx --tutor
如果想给 hx 起个更顺手的名字,可以在 ~/.zshrc 里加:
alias svim='hx'
Shell / CLI 增强工具
# 更好看的 ls
ls
ll
# 更好的 cat
bat <file>
# 快速找文件
fd <keyword>
# 快速全文搜索
rg <keyword>
配置文件编辑入口
nvim ~/.config/ghostty/config
nvim ~/.tmux.conf
nvim ~/.config/lazygit/config.yml
nvim ~/.config/btop/themes/miasma.theme
nvim ~/.config/nvim/lua/plugins/miasma.lua
nvim ~/.zshrc
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 集成继续补强,这套环境就会从“顺手”进一步升级到“真正可持续复用的个人主力工作台”。
爆款标题备选
- Miasma 终端工作流的完整落地:Ghostty、tmux、Neovim 到 Claude 一次打通
- 如何把终端变成主力工作台:一套 Miasma 风格开发环境配置说明
- 从分屏到 AI 辅助:我的 Ghostty + tmux + Neovim 统一工作流改造
- 别再把终端只当命令行了:一套面向 power user 的 Miasma 工作流方案
- 用 Ghostty、tmux 和 Claude 组一套真正能长期驻留的开发工作台
推荐标签
#Ghostty #tmux #Neovim #lazygit #btop #Claude #TerminalWorkflow #EngineeringPractice #KnowledgeBase