每次重装系统,最烦的就是恢复终端环境。上个月我干脆把 dotfiles 从头写了一遍,原则只有一条:每个插件都要能说清楚它解决了什么问题。

Zsh 部分

不用 oh-my-zsh,直接手写 .zshrc:

autoload -Uz compinit && compinit -C
setopt autocd extendedglob nomatch notify

HISTFILE=~/.zsh_history
HISTSIZE=100000
SAVEHIST=100000
setopt hist_ignore_dups share_history

bindkey -e
bindkey '^R' history-incremental-search-backward

插件只留三个:

  • zsh-autosuggestions —— 补全提示,用得最多;
  • zsh-syntax-highlighting —— 命令写错时立刻能看出来;
  • zsh-completions —— 补全定义,不占运行时开销。

曾经装过二十多个插件,启动要 400ms。现在 30ms,感觉像是换了个终端。

Zellij 代替 tmux

tmux 用了六年,配置越写越长。换 Zellij 主要是因为它的布局文件是 KDL,可读性好太多:

layout {
    pane split_direction="vertical" {
        pane size="60%"
        pane split_direction="horizontal" {
            pane
            pane
        }
    }
}

常用操作记一下:

操作快捷键
新建标签页Ctrl+p 然后 n
纵向分屏Ctrl+p 然后 r
切换面板Alt+方向键
浮动面板Ctrl+p 然后 w

用到的工具

最后终端里的常驻工具只有这些:

# 更快的 ls / cat / grep
eza --icons --group-directories-first
bat --style=plain
ripgrep

# 模糊查找
fzf
zoxide

zoxide 大概是我这两年装过最值的小工具 —— z deep 就能跳到上次去过的项目目录,再也不用 cd ../../..。

一点感慨

配置这件事很容易变成收集癖。写到最后你会发现,真正每天都用的功能不超过十个。把剩下的删掉,终端反而更快、更可靠。