作为一个每天在终端里花费大量时间的开发者,这些工具显著提升了我的工作效率。
Shell: Zsh + Oh My Zsh
基础配置:
1 2 3 4 5
| export ZSH="$HOME/.oh-my-zsh" ZSH_THEME="robbyrussell" plugins=(git z fzf docker kubectl) source $ZSH/oh-my-zsh.sh
|
常用别名
1 2 3 4 5 6 7
| alias gs="git status" alias gc="git commit" alias gp="git push" alias gd="git diff" alias ll="ls -la" alias ..="cd .." alias ...="cd ../.."
|
搜索: fzf + ripgrep
fzf 模糊搜索
1 2 3 4 5 6 7 8 9
| brew install fzf
vim $(fzf)
git checkout $(git branch | fzf)
|
ripgrep 代码搜索
1 2 3
| rg "function.*async" --type js rg "TODO|FIXME" -g "!node_modules"
|
文件管理: eza + bat
1 2 3 4 5
| eza -la --git --icons
bat src/main.rs
|
终端复用: tmux
我的 tmux 配置片段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| set -g prefix C-a unbind C-b bind C-a send-prefix
set -g mouse on
set -g default-terminal "screen-256color"
set -g pane-border-style fg=colour240 set -g pane-active-border-style fg=colour166
|
JSON 处理: jq
1 2 3 4 5 6 7 8 9 10 11
| cat data.json | jq '.'
curl -s api.example.com/users | jq '.[].name'
jq '.[] | select(.age > 25)' users.json
jq '{name: .first_name, email: .contact.email}' user.json
|
HTTP 调试: httpie
1 2 3 4
| http GET api.example.com/users http POST api.example.com/users name=Alice age:=25 http PUT api.example.com/users/1 name=Bob
|
进程监控: btop
比 top/htop 更现代的系统监控工具,支持:
- CPU/内存/磁盘/网络实时图表
- 进程树视图
- 鼠标操作
我的效率原则
- 能自动化的就自动化 — 重复三次以上就写脚本
- 键盘优先 — 减少鼠标操作
- 组合简单工具 — Unix 哲学:每个工具做好一件事
- 定期清理 — 删除不再使用的别名和脚本
工具只是手段,解决问题才是目的。不要陷入无止境的配置优化中。