开发工具
终端、Shell 与日常开发环境。
专题与文章目录
1 个专题文章
开发环境中的工具各有职责。终端负责显示文本和传递按键,Shell 解释命令,多路复用器管理会话与面板,编辑器处理文件与代码。先分清这些边界,再连接快捷键、剪贴板和配置,可以减少“换一个工具就要重配整套环境”的负担。
本系列面向能够执行基本命令、准备整理日常开发环境的读者。Linux 示例以 Zsh 和 Wayland 为主要背景;Windows 终端单独说明。软件安装交给所用系统的包管理器,各篇从安装后的配置与使用开始。
一条命令经过哪些层
在 Ghostty 中打开 Zellij,再启动 Zsh 和 Neovim,看起来像一个窗口,实际上有多层程序协作。
| 层次 | 负责什么 | 典型问题 |
|---|---|---|
| 桌面合成器 | 窗口位置、显示器、全局快捷键 | 窗口到不了另一块屏幕 |
| 终端 | 字体、颜色、输入编码、终端协议 | 字符显示异常、按键没有传下去 |
| Zellij | 会话、标签、面板、滚动历史 | 重新连接后找不到原会话 |
| Zsh | 命令解释、环境变量、补全 | 命令不存在、Tab 候选不对 |
| Neovim | 编辑、项目导航、语言服务 | 补全和跳转没有结果 |
按下 Ctrl+h 时,外层程序有机会先处理这个按键。只有各层约定一致,按键才会到达预期位置。因此,“Neovim 的窗口移动失效”也可能来自终端或 Zellij 的映射。
按任务阅读
| 想完成的任务 | 阅读入口 | 完成后应能做到 |
|---|---|---|
| 配置 Linux/macOS 终端 | Ghostty | 验证配置,区分字体、透明度和主题问题 |
| 建立 Windows 终端环境 | WezTerm | 用完整 Lua 配置启动 PowerShell,理解 WSL 边界 |
| 保留项目工作区 | Zellij | 创建具名会话、分离和重新接入 |
| 让命令补全可预测 | Zsh | 理解加载顺序,定位补全与预览故障 |
| 查文件、搜代码、看差异 | CLI 工具箱 | 选择搜索范围,组合工具并检查结果 |
| 跨机器维护配置 | chezmoi | 审阅源状态与目标差异,再应用变更 |
| 完成一次代码修改 | Neovim | 定位、编辑、运行测试并审阅差异 |
| 整理 Wayland 桌面 | Hyprland | 理解窗口、外壳、主题和会话服务的关系 |
首次搭建建议按“终端 → Shell → CLI → 会话 → 编辑器”的顺序。每增加一层,都先验证前一层仍然可用。已经有稳定环境时,可以直接阅读遇到问题的那一篇。
用一个项目连接工具
选择一个可以本地运行测试的项目,从项目根目录开始:
- 用
pwd确认位置,用git status --short了解已有修改。 - 用
rg --files找文件,用rg -n找相关符号或错误消息。 - 打开具名 Zellij 会话,把编辑器和测试终端放在两个面板。
- 在 Neovim 中完成一个小改动,保存后运行项目自己的测试命令。
- 用
git diff检查内容,用git diff --check检查空白问题。 - 分离会话,再按名称接回,确认仍在原来的工作目录和面板布局中。
这条路径检验的是工具能否配合完成工作。颜色、状态栏和动画可以在工作路径稳定后调整。
配置文件也需要维护边界
手工维护的配置、工具自动生成的文件、运行状态和凭据,应分别处理。例如 Ghostty 主配置适合版本管理,Matugen 输出的主题应能够重新生成,Zellij 会话状态依赖当前机器,私钥与访问令牌不能因“同步配置”而混入公开仓库。
本系列的配置实例参考一套 Gentoo/Hyprland 环境,但不要求复制全部软件组合。2026-09-15 核对时,桌面外壳采用 Caelestia,应用主题通过 Matugen 模板同步;旧版 illogical-impulse 和双 hypridle 实例属于历史方案。相关区别在 Hyprland 系列中展开。
判断环境是否已经够用
完成配置后,应能回答三个问题:命令在哪个目录运行?当前按键由哪一层处理?配置失效时应检查哪个文件或日志?
如果这些问题有明确答案,即使工具不多,环境也容易维护。需要查阅提交与远程连接的完整操作时,继续阅读 Git 手册 和 SSH 手册。