终端对我来说不是“极客表演”,而是一张顺手的工作台。用得久了,会留下一些其貌不扬、但每天都离不开的工具。

这份清单不追求全,只记录真正在我的日常里反复出现的东西。

基础三件套

# 找文件,比 find 更好记
fd "config" ~/projects

# 找内容,默认尊重 .gitignore
rg "TODO" src/

# 看目录,带图标和 git 状态
eza -la --git

fd、rg、eza 分别替代了 find、grep、ls。它们不是必需品,但用过之后很难回去。

让 shell 更顺手

历史记录搜索

把上下键绑定到前缀搜索,输入几个字母就能找到之前的命令:

# ~/.inputrc
"\e[A": history-search-backward
"\e[B": history-search-forward

别名不是偷懒

alias gs="git status -sb"
alias gd="git diff --stat"
alias ll="eza -la --git"
alias ..="cd .."

别名省下的不是几秒钟,而是每次切换上下文时的注意力。

Git 的几个小习惯

  • 提交前先 git diff --staged,确认没有误加文件。
  • 用 git switch -c 代替 git checkout -b,语义更清楚。
  • 提交信息写“为什么”,而不只是“做了什么”。
  • 定期 git fetch --prune,清理已经消失的远程分支。

一个够用的编辑器配置

无论用 Vim 还是 Neovim,先把这几件事做好:

  1. 相对行号;
  2. 快速模糊查找文件;
  3. 保存时自动格式化;
  4. 一套看得舒服的配色。

插件不必多。配置是为了减少摩擦,不是为了增加仪式感。

最后

工具的意义,是让人忘记工具的存在。真正重要的,始终是用它写出的代码、解决的问题,以及省下来的那点时间用来做什么。

如果这份清单里只能留下一个建议,那会是:把每天重复三次以上的动作,变成一条命令。