我对终端的要求和对待同事一样:响应快、话不多、可预测。这套工具链经过几年筛选,每一个位置都有明确的胜负理由。
底座:zsh + 两个插件
- zsh-autosuggestions:灰色幽灵提示历史命令,
→采纳。省下的键盘量以年计是惊人的 - zsh-syntax-highlighting:命令存在绿色、不存在红色——打错命令在回车前就知道
不装 Oh My Zsh(慢),不装十几个 theme(花)。用这套的理由只有一个:提示延迟必须低于打字速度。
查找:fzf 是终端的 Ctrl+K
fzf 通用模糊查找,配三个绑定覆盖 90% 场景:
# Ctrl+R 历史命令模糊搜索(重写自带体验)
# Ctrl+T 把查找结果插入当前命令
# Alt+C 模糊跳转目录
配合 **<TAB> 通配补全(vim **<TAB> 直接模糊选文件),文件路径基本告别手打。
搜索与查看:现代替代品
| 传统 | 替代 | 理由 |
|---|---|---|
grep |
rg(ripgrep) |
快一个量级,默认跳过 .gitignore |
cat |
bat |
自带语法高亮与行号,git 集成 |
find |
fd |
语法直觉,默认并行 |
ls |
eza |
git 状态、图标、树形一体 |
alias 不必激进——我保留原生命令的习惯,只在交互查看场景用替代品(脚本里仍然 grep/cat,可移植)。
目录跳跃:zoxide
z blog 直达常去的目录,基于使用频率学习。比维护一堆 alias 干净得多。
纪律比工具重要
- 配置进版本库:dotfiles 仓库,新机器 10 分钟恢复全套环境
- 别名只加"高频+难打"的:每个 alias 都是记忆税
- 能脚本化的不动手:同一串命令敲第三遍,就该变成脚本进
~/bin(参考下一篇) - 保持可弃:任何工具罢工,原生命令必须还能干活——工具链是加速器,不是依赖项
终端是工程师接触时间最长的"IDE"。配置它的原则和配置服务器一样:每项改动可解释、可回滚、可迁移。