2026年5月10日 · 阅读 —

Miasma 终端工作流配置与改造说明

AI 工程实践

!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 个问题:

  1. 终端工具很多,但视觉与交互割裂
  2. 分屏、切窗、开工具没有统一快捷键
  3. 需要一套更偏 Vim / power-user 的操作方式
  4. 需要把实施过程、文件路径、用途、优势与相关资料正式落盘

最终目标是形成一套可复用的 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 作为 prefix
  • Prefix + h/j/k/l 进行窗格移动
  • Prefix + H/J/K/L 调整窗格大小

这和 Neovim 的方向键习惯一致,能明显减少切换成本。

4.3 把高频工具做成“入口型窗口”

通过 tmux 直接拉起:

  • Prefix + g → lazygit
  • Prefix + n → nvim
  • Prefix + b → btop
  • Prefix + 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 → Claude
  • Prefix + 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 管 Git
  • fzf + 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

常见动作:

  • 方向键 / j k 移动
  • 回车进入目录或打开文件
  • 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

典型动作:

  1. 打开 Ghostty
  2. 进入或创建 tmux 会话
  3. 在 tmux 中按快捷键拉起各类工作窗口
  4. 用 Ghostty 原生分屏做更轻量的并排操作
  5. 用 tmux 保持长期工作会话不丢失

7.2 最常用快捷键

Ghostty

快捷键作用
Cmd + D右分屏
Cmd + Shift + D下分屏
Cmd + Shift + Enter放大 / 取消放大当前分屏
Cmd + Ctrl + =平均分配分屏
Cmd + Shift + ,重载 Ghostty 配置

tmux

快捷键作用
Ctrl + Atmux 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 三窗格演示布局

这是一套非常适合展示和日常开发并存的布局:

  1. 在 Ghostty 主窗口里运行 claude
  2. 按 Cmd + D 在右侧再开一个窗格,运行 fastfetch
  3. 回到左侧窗格,按 Cmd + Shift + D 在下方开一个窗格,运行 btop

结果大概是:

  • 左上,AI 助手 / shell 主工作区
  • 右侧,系统摘要或临时信息
  • 左下,资源监控

这个布局很适合一边开发、一边问 AI、一边盯机器状态。


8. 每个组件是干什么用的

组件主要用途为什么放进这套里
Ghostty终端显示层、原生分屏、外观控制启动快、渲染好、配置现代化
tmux会话保持、窗格与窗口管理断线不丢、项目切换稳定、工作区组织能力强
Neovim编辑代码、查找、跳转、重构键盘驱动效率高,和 tmux 心智一致
lazygitGit 状态、stage、commit、log、rebase比纯命令行更直观,比 GUI 更轻
Yazi终端文件浏览、预览图片/代码/文档不离开终端就能看文件,和 AI 流程配合特别顺
btop看 CPU / 内存 / 进程 / 网络监控信息集中,排查卡顿或异常方便
fastfetch快速展示系统信息摘要适合开场展示、排障前快速看机器环境
ClaudeAI 问答、辅助编码、解释代码、生成草稿减少切浏览器和 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.lua
  • lazy.nvim bootstrap
  • miasma.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 官方文档

12.4 当前工作区内可补充参考的文档方向

如果后续想继续沉淀,可以再补这些文档:

  • Ghostty 键位与分屏习惯清单
  • tmux 工作区布局规范
  • Neovim 主力 IDE 插件清单
  • Claude in terminal 的使用约定
  • 终端工作流从零安装手册

13. 结论

这次改造的真正价值,不是把终端换成了 Miasma 颜色,而是把一组零散工具收成了一套统一工作流:

  • Ghostty 管外观与轻量分屏
  • tmux 管会话与工作区
  • Neovim 管编辑
  • lazygit 管 Git
  • btop 管监控
  • Claude 管 AI 辅助

它的优势在于:统一、稳定、低切换成本、适合长期驻留开发。如果后续再把 tmux workspace、Neovim IDE 能力和 Claude 集成继续补强,这套环境就会从“顺手”进一步升级到“真正可持续复用的个人主力工作台”。


爆款标题备选

  1. Miasma 终端工作流的完整落地:Ghostty、tmux、Neovim 到 Claude 一次打通
  2. 如何把终端变成主力工作台:一套 Miasma 风格开发环境配置说明
  3. 从分屏到 AI 辅助:我的 Ghostty + tmux + Neovim 统一工作流改造
  4. 别再把终端只当命令行了:一套面向 power user 的 Miasma 工作流方案
  5. 用 Ghostty、tmux 和 Claude 组一套真正能长期驻留的开发工作台

推荐标签

#Ghostty #tmux #Neovim #lazygit #btop #Claude #TerminalWorkflow #EngineeringPractice #KnowledgeBase