我的终端工作流:zsh 配置、tmux 分区与常用别名整理
作为一个大量时间泡在终端里的开发者,折腾命令行环境这件事我从来不觉得是在浪费时间。一套顺手的终端配置能把很多重复操作压缩成几个按键,日积月累省下来的时间相当可观。这篇文章整理一下目前我在用的那套方案,算是给自己做个备份,也分享出来供参考。
我的基础是 macOS 自带的 zsh,配合 Oh My Zsh 框架管理插件和主题。提示符用的是 Starship,它能自动识别当前目录的 Git 分支、Node/Python 版本等上下文信息,渲染速度也比很多纯 shell 实现的主题快很多。
必装的 zsh 插件
插件方面,常驻三个:zsh-autosuggestions(根据历史记录给出补全建议,按右方向键接受)、zsh-syntax-highlighting(命令合法时高亮绿色,否则红色,输入时就能发现拼写错误)和 fzf(用 Ctrl+R 搜索历史命令简直是神器)。这三个装上之后,日常打命令的体验提升非常明显。
tmux 多窗口布局
对于需要同时盯着多个服务日志、又要随时切过去敲命令的场景,tmux 是我的首选。我的常用布局是:左侧一个大窗格用来编辑或执行主任务,右侧竖排两个小窗格分别跟着服务日志。这个布局保存成一个 tmux 配置脚本,每次新开会话直接载入,不用手动拆分。
# 新建会话并自动布局
tmux new-session -d -s dev
tmux split-window -h -p 30
tmux split-window -v
tmux send-keys -t dev:0.0 'vim .' Enter
tmux attach -t dev
tmux new-session -d -s dev
tmux split-window -h -p 30
tmux split-window -v
tmux send-keys -t dev:0.0 'vim .' Enter
tmux attach -t dev
另外在 .zshrc 里积累了几十条别名,比如 alias dcu='docker compose up -d'、alias gst='git status' 这类高频操作。别名的价值不在于单次省多少字,而在于把肌肉记忆固化下来,让大脑不用切换到"打命令"模式,思路更连贯。