现代终端工作流使用说明

日常入口

打开 Ghostty 后,默认进入 zsh,并自动加载:

  • starship prompt
  • Homebrew PATH
  • fzf 快捷搜索
  • zoxide 智能跳转
  • eza / bat / fd / ripgrep 别名
  • tmux / k8s / lazygit 快捷命令

推荐日常进入方式:

tmux new -s work

已有 session 时:

tmux ls
tmux attach -t work

对应快捷别名:

tn work
tls
ta work

文件浏览

常用命令:

ls
ll
la
tree

实际映射:

alias ls="eza --icons --group-directories-first"
alias ll="eza -lah --icons --group-directories-first"
alias la="eza -a --icons --group-directories-first"
alias tree="eza --tree --icons"

建议用法:

ll
tree -L 2
eza --git --long --icons

文件查看

常用命令:

cat README.md
bat package.json
bat -n path/to/file

cat 已映射到 bat

alias cat="bat"

如果需要原始 cat 行为:

/bin/cat file.txt

搜索

文本搜索:

rg "keyword"
rg "TODO|FIXME" src
rg -n "functionName" .

文件搜索:

fd README
fd "\\.yaml$"
fd Dockerfile

别名:

alias grep="rg"
alias find="fd"

如果需要系统原始命令:

/usr/bin/grep pattern file
/usr/bin/find . -name '*.md'

目录跳转

zoxide 会根据访问频率学习路径:

z vibecoding
z obsidian-main
z apim-devbox

当前配置没有把 cd 覆盖成 z,所以:

cd path
z remembered-path

可以并行使用。

fzf

fzf 在真实交互式终端中自动初始化。

常见快捷键:

Ctrl-r    搜索历史命令
Ctrl-t    搜索文件并插入命令行
Alt-c     搜索目录并 cd

如果快捷键没有生效,先确认是在 Ghostty 真实交互窗口中,而不是脚本或非 TTY 环境。

Git

进入 git 仓库后:

lg

lg 映射到:

alias lg="lazygit"

适合处理:

  • 查看 diff
  • stage / unstage
  • commit
  • stash
  • branch 切换
  • 查看 log

命令行 diff 可以用:

delta file-a file-b
git diff | delta

别名:

alias diff="delta"

tmux

创建 session:

tn work

列出 session:

tls

进入 session:

ta work

核心快捷键:

Ctrl-a |    左右分屏
Ctrl-a -    上下分屏
Ctrl-a h    切到左 pane
Ctrl-a j    切到下 pane
Ctrl-a k    切到上 pane
Ctrl-a l    切到右 pane
Ctrl-a r    重新加载 ~/.tmux.conf

鼠标已开启,可以直接点击 pane、滚动历史。

Kubernetes

查看当前 context:

kctx

切换 context:

kx

切换 namespace:

kn

打开 k9s:

k9s

查看日志:

stern app-name
stern app-name -n namespace

kubectl 快捷别名:

alias k="kubectl"

示例:

k get pods
k get deploy -A
k describe pod pod-name
k logs -f deploy/app-name

注意:starship prompt 会展示 Kubernetes context 和 namespace。对生产环境操作前,先看 prompt 或执行:

kubectl config current-context
kubectl config view --minify --output 'jsonpath={..namespace}'

Helm

当前机器安装了 Homebrew 版 helm,但 shell 优先使用:

/Users/justinx/bin/helm

确认当前 helm:

command -v helm
helm version

如需显式使用 Homebrew 版本:

/opt/homebrew/bin/helm version

系统观察

进程和资源:

top
btm

top 已映射到 btm

alias top="btm"

磁盘占用:

du
dust
dust -d 2

du 已映射到 dust

alias du="dust"

如果需要系统原始 du

/usr/bin/du -sh *

JSON / YAML

JSON:

jq '.' file.json
jq '.items[] | .metadata.name' pods.json

YAML:

yq '.spec.template.spec.containers[].image' deploy.yaml

当前 shell 中 jq 走 Homebrew 版本:

command -v jq

配置重新加载

zsh:

source ~/.zshrc

tmux:

Ctrl-a r

或:

tmux source-file ~/.tmux.conf

Ghostty:

ghostty +validate-config --config-file=$HOME/.config/ghostty/config

主题列表:

ghostty +list-themes

故障排查

图标显示异常:

fc-match "JetBrainsMono Nerd Font"

确认 Ghostty 配置:

sed -n '1,120p' ~/.config/ghostty/config

starship 不显示:

command -v starship
starship explain

命令找不到:

command -v eza bat fd rg k9s lazygit
echo $PATH

zsh 启动有噪音:

TERM=xterm-256color zsh -ic 'echo ZSH_OK'

tmux 颜色异常:

echo $TERM
tmux show -g default-terminal

推荐日常工作节奏

cd ~/Documents/vibecoding
tn work
ll
z apim-devbox
lg
kctx
k9s

原则:

  • 搜索优先用 rg / fd
  • 看文件优先用 bat
  • 看目录优先用 eza
  • 长时间任务放 tmux session。
  • Git 批量操作用 lazygit,精确命令仍保留 git
  • K8s 操作前确认 context,尤其是生产集群。