April 12, 2026技术分享6 min
终端即 IDE:我的开发环境哲学
大多数人打开电脑的第一件事是启动浏览器。我打开的是终端。
不是因为复古情怀,而是因为终端是我找到的最短路径——从想法到执行,中间不需要经过任何图形界面的摩擦。
为什么是终端
GUI 编辑器的问题不在于功能不够,而在于太多。每次打开 VS Code,我都要面对一个信息过载的界面:侧边栏、状态栏、扩展推荐、更新提示。这些东西在我需要专注时是噪音。
Neovim + Tmux + Fish 的组合给了我一个干净的工作空间。没有多余的像素,每一个快捷键都是我主动配置的,每一个行为都可预测。
# 我的日常:一个命令更新所有工具
u
# Homebrew → Rust → Go → Node → Conda → Fish plugins → Neovim → TPM → Yazi
Dotfiles 即基础设施
我的 dotfiles 仓库不是配置文件的备份,而是一套声明式的开发环境定义。新机器到手,一个 setup.sh 搞定一切:SSH 密钥、Homebrew、所有工具链、所有配置的符号链接。
核心原则:
- -单一数据源:所有配置住在
~/dotfiles/,通过 symlink 分发 - -可复现:Brewfile 锁定所有依赖,
restore.sh幂等执行 - -一键更新:
u函数递归更新从系统包到编辑器插件的所有层级
工具选择的逻辑
| 需求 | 选择 | 理由 |
|---|---|---|
| 编辑器 | Neovim (AstroNvim) | 启动快、可组合、Lua 生态 |
| 终端 | Ghostty | GPU 渲染、自定义 shader |
| Shell | Fish | 开箱即用的补全和语法高亮 |
| Git | Lazygit | 复杂操作可视化,简单操作不离开终端 |
| 文件管理 | Yazi | 预览、批量操作、和 shell 联动 |
| 窗口管理 | AeroSpace | 平铺式,键盘驱动 |
每个工具的选择标准:键盘优先、可配置、Unix 哲学(做好一件事)。
主题统一的执念
一个容易被忽视的细节:跨工具的视觉一致性。我的所有工具共享同一套配色——Rose Pine 为主,Catppuccin Mocha 为辅。从 Neovim 到 Tmux 到 Lazygit 到 bat,颜色语义一致。
这不是强迫症,是减少认知切换的成本。当你在不同工具间跳转时,一致的视觉语言让大脑不需要重新适应。
结语
终端不是落后的工具,是被低估的工具。当你把它配置成自己的形状,它比任何 IDE 都贴合你的思维方式。
关键不在于用什么工具,而在于你是否真正拥有你的工作环境。
这套配置开源在 GitHub,欢迎参考。
© 2026 Li Jiaming. All rights reserved.