你的终端都安装了哪些扩展?试试这些高效扩展

你的终端是否看上去平平无奇,使用上也不那么顺手便捷呢,不妨试试下面的这些扩展让你的终端更好用。

  • eza: 终端文件图标、颜色、git 状态
  • yazi:终端文件管理器,预览、操作文件
  • btop:终端任务管理器,任务监控
  • duf:终端磁盘空间查看工具,磁盘信息
  • bat:终端文件查看工具,语法高亮
  • fastfetch:终端系统信息查看
  • fzf:终端模糊查找器,模糊匹配
  • fd:终端查找器,替代 find
  • ripgrep:终端文本搜索工具
  • zoxide:终端记忆跳转路径,记住敲过的路径快速跳转
  • lazygit:终端Git界面
  • lazydocker:终端Docker界面
  • zellij:终端复用器,分屏、Session 管理
  • cmux:垂直标签页和通知功能的终端软件,适用于 AI 编码代理

eza

在使用 ls 之类查看文件时,很难区分文件还是目录,eza 可以列出文件列表的图标、颜色、git 状态。

https://github.com/eza-community/eza

安装

brew install eza

集成

打开 ~/.zshrc,把下面这些别名追加到文件末尾:

# 使用 eza 代替传统的 ls,添加图标、显示 Git 状态、按目录优先排序
alias ls='eza --icons --git --group-directories-first'
alias ll='eza -lh --icons --git --group-directories-first'
alias lt='eza --tree --level=2 --icons' # 树状显示,洞察项目结构

也可以对日期时间格式化的显示:

--time-style='default', ' iso', ' long-iso', ' full-iso', ' relative’

自定义格式化:例如,' +%Y-%m-%d %H:%M' => ' 2023-09-30 13:00’

参考:https://docs.rs/chrono/latest/chrono/format/strftime/index.html

alias ls='eza --icons --git --group-directories-first --time-style="+%Y-%m-%d %H:%M:%S %a"'
alias ll='eza -lh --icons --git --group-directories-first --time-style="+%Y-%m-%d %H:%M:%S %a"'

保存之后执行 source ~/.zshrc 生效。

用法

ls
ll
lt

PixPin_2026-04-09_11-43-11.png

PixPin_2026-04-09_11-46-50.png

yazi

yazi 终端里的文件管理器,可以在终端里浏览、打开、操作文件。

https://github.com/sxyazi/yazi

安装

brew install yazi ffmpeg-full sevenzip jq poppler fd ripgrep fzf zoxide resvg imagemagick-full font-symbols-only-nerd-font
brew link ffmpeg-full imagemagick-full -f --overwrite

如果你的 Mac 终端输入 yazi 无法预览图片,报错:

failed to spawn chaa: no such file or directory

需要安装以下依赖:

# macOS
brew install chafa

# Ubuntu/Debian
sudo apt-get install -y chafa ueberzugpp

# 检查命令
# 检查终端图像协议支持
echo $TERM
# 验证图像支持
yazi --version | grep -i image

集成(可选)

打开 ~/.zshrc,把下面这段追加到文件末尾(可选):

function y() {
    local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
    command yazi "$@" --cwd-file="$tmp"
    IFS= read -r -d '' cwd < "$tmp"
    [ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd"
    rm -f -- "$tmp"
}

保存之后执行 source ~/.zshrc 生效。

然后就可以在终端输入 y 替代 yazi 来启动 Yazi。

配置

Yazi 共有三个配置文件:

  1. 新建文件~/.config/yazi/yazi.toml

显示隐藏文件

在文件名之后显示符号链接指向的路径

[mgr]
show_hidden = true
show_symlink = true
  1. 新建文件~/.config/yazi/keymap.toml

输入模式下按下 <Esc> 键时执行同时关闭输入并清除过滤器

[[input.prepend_keymap]]
on = "<Esc>"
run = ["close", "mgr:escape --filter"]
desc = "Close input and cancel the filter"

用法

参考:https://yazi-rs.github.io/docs/quick-start#selection

导航

绑定 备用键 行动
k 向上移动光标
j 向下移动光标
l 进入鼠标悬停的目录
h 离开当前目录,进入其父目录

文件操作

绑定 行动
o 打开选定的文件
O 以交互方式打开选定的文件
Enter 打开选定的文件
Shift+Enter 以交互方式打开选定文件(某些终端尚不支持此功能)
Tab 显示文件信息
y 复制选定文件
x 剪切选定文件
p 粘贴已复制的文件
P 粘贴复制的文件(如果目标位置已存在则覆盖)
Y或者X 取消 yank 状态
d 将选定的文件删除到垃圾桶
D 永久删除选定文件
a 创建一个文件(目录以 / 结尾)
r 重命名选定文件
. 切换隐藏文件的可见性

复制路径

c⇒d表示先按下一个c键,然后再按下另一个d键。

绑定 行动
c⇒c 复制文件路径
c⇒d 复制目录路径
c⇒f 复制文件名
c⇒n 复制文件名(不带扩展名)。

过滤文件

绑定 行动
f 过滤文件

查找文件

绑定 行动
/ 查找下一个文件
? 查找上一个文件
n 前往下一个找到的
N 转到上一个找到的

搜索文件

绑定 行动
s 使用fd按名称搜索文件
S 使用ripgrep按内容搜索文件
Ctrl+s 取消正在进行的搜索

PixPin_2026-04-09_14-01-11.png

btop

btop 一个更好看的终端任务管理器。

  • top / htop:老式监控
  • btop更直观好用 + 图形化

https://github.com/aristocratos/btop

安装

brew install btop

用法

# 默认
btop

# 显示/隐藏布局
1 / 2 / 3 / 4

# 选择进程
↑ ↓

# 搜索进程
/ 

# kill进程
k

PixPin_2026-04-09_14-19-12.png

duf

duf 一个更好看的磁盘空间查看工具。

  • df:普通列表信息
  • duf:显示信息更清晰

https://github.com/muesli/duf

安装

brew install duf

集成

打开 ~/.zshrc,把下面这些别名追加到文件末尾:

# 替代 df
alias df='duf'

保存之后执行 source ~/.zshrc 生效。

用法

# 默认
duf

# 指定设备/路径
duf /home

# 只看特定类型
duf --only local

# 排除某些类型
duf --hide-mp /proc,/sys

# 输出格式
duf --json

# 按大小排序
duf --sort size

PixPin_2026-04-09_14-29-19.png

bat

bat 一个更好看的 cat 文件查看工具。

  • 语法高亮
  • Git 集成
  • 显示不可打印字符
  • 自动分页

https://github.com/sharkdp/bat

安装

brew install bat

集成

打开 ~/.zshrc,把下面这些别名追加到文件末尾:

# 替代 cat
alias cat='bat'

保存之后执行 source ~/.zshrc 生效。

用法

# 显示单个文件
bat [xxx]

# 显示多个文件
bat [src/*.rs]

# 输入读取
curl -s https://sh.rustup.rs | bat

# 输入读取,显式指定语言
yaml2json .travis.yml | json_pp | bat -l json

# 显示不可打印字符
bat -A [/etc/hosts]

# 不分页输出
bat --paging=never [xxx]

# 查看支持语言
bat --list-languages

PixPin_2026-04-09_14-40-31.png

fastfetch

获取系统信息并以美观的方式呈现,更快更现代的 Neofetch

  • Fastfetch:启动极快
  • Neofetch:启动相对慢

https://github.com/fastfetch-cli/fastfetch

安装

brew install fastfetch

用法

fastfetch

PixPin_2026-04-09_15-00-12.png

fzf

fzf 一个通用的命令行模糊查找器。

https://github.com/junegunn/fzf

搭配 fd、ripgrep(rg) 使用更强大

安装

brew install fzf

集成

打开 ~/.zshrc,把下面这段追加到文件末尾:

# Set up fzf key bindings and fuzzy completion
source <(fzf --zsh)

保存之后执行 source ~/.zshrc 生效。

用法

# 选文件
# 会列出当前目录所有文件
# 输入关键词过滤 → 回车选中
fzf

# 管道
ls | fzf
ps aux | fzf

# 搭配 fd
fd | fzf

# 配合 rg
rg keyword | fzf

fd

fd 一个简单 + 快的 find 替代品。

  • 语法简单
  • 搜索更灵活
  • 速度很快
  • 批量执行命令
  • 结果更清晰

https://github.com/sharkdp/fd

安装

brew install fd

使用

# 模糊匹配(递归查找)
find [xxx]

# 区分大小写
fd -s [xxx]

# 某种文件类型
find -e [py]

# 正则匹配
fd '^test$'

# 隐藏文件
fd -H [.xx]

# 仅目录
fd -t d [xxx]

# 仅文件
fd -t f [xxx]

# 搜索深度
fd keyword -d 2 [xxx]

# 接执行命令
fd py -x python [xxx]

# 批量操作
fd log -X rm [xxx]

# 配合 fzf
fd | fzf

PixPin_2026-04-09_16-07-02.png

ripgrep

ripgrep(rg) 超快的代码/文本搜索工具(grep 的升级版)。

  • 速度极快(Rust)
  • 递归搜索
  • 自动忽略(遵循 .gitignore 规则)

https://github.com/BurntSushi/ripgrep

安装

brew install ripgrep

使用

# 搜关键词
rg [xxx]

# 正则搜索
rg ["h.*o"]

# 指定目录搜索
rg [xxx] [/src]

# 忽略大小写
rg -i [xxx]

# 文件类型搜索
rg [xxx] -g ["*.py"]

# 只显示匹配内容
rg -o [xxx]

# 完全匹配
rg -w [xxx]

# 目录深度
rg [xxx] --max-depth 2

# 包含隐藏文件
rg [xxx] --hidden

# 包含 gitignored 文件(慎用)
rg [xxx] -uuu

# 列出文件名
rg -l [xxx]

# 列没有匹配的文件
rg -L [xxx]

# 统计匹配行数
rg -c [xxx]

# 配合fzf
rg [xxx] | fzf

PixPin_2026-04-09_16-32-50.png

zoxide

zoxide 是一个更智能的 cd 命令,其灵感来源于 zautojump

它会记住你最常用的目录,这样你只需按几下键就能“跳转”到这些目录。

  • cd: 只能“精确路径”
  • zoxide: 支持模糊匹配、支持关键词跳转

https://github.com/ajeetdsouza/zoxide

安装

brew install zoxide

集成

打开 ~/.zshrc,把下面这些别名追加到文件末尾:

eval "$(zoxide init zsh)"

# 替换/增强(可选)
alias cd='z'

保存之后执行 source ~/.zshrc 生效。

用法

# 基础跳转
z [目录]

# 精确路径
z [~/xxx]

# 查看记录
zoxide query

# 删除记录
zoxide remove [/xxx]

# 手动更新记录
zoxide add [/xxx]

PixPin_2026-04-09_16-51-59.png

lazygit

一个简单的 git 命令终端界面。

  • 用“界面操作”代替手打 git 命令
  • 可以查看 commit、分支、diff、stash
  • 支持 提交、合并、切换分支、解决冲突

https://github.com/jesseduffield/lazygit

安装

brew install lazygit

集成(可选)

打开 ~/.zshrc,把下面这些别名追加到文件末尾:

lg() {
    export LAZYGIT_NEW_DIR_FILE=~/.lazygit/newdir

    lazygit "$@"

    if [ -f $LAZYGIT_NEW_DIR_FILE ]; then
        cd "$(cat $LAZYGIT_NEW_DIR_FILE)"
        rm -f $LAZYGIT_NEW_DIR_FILE > /dev/null
    fi
}

保存之后执行 source ~/.zshrc 生效。

用法

# 启动
lazygit
lg

# 默认相当于git status

# 添加文件(git add)
用 ↑ ↓ 选文件
按:space

# 提交 commit
c
输入 commit message → 回车提交

# push / pull
P / p

# 切换分支
进入 branch 面板
↑ ↓ 选分支
按:enter

# 新建分支
n

# 删除分支
d

# 查看 diff
选文件
按:enter

# stash
s

PixPin_2026-04-09_17-35-35.png

lazydocker

一个简单的终端用户界面,支持 dockerdocker-compose

  • 用界面操作替代 docker 命令
  • 可以查看 容器、镜像、日志、卷(volumes)
  • 支持 启动 / 停止 / 删除容器

https://github.com/jesseduffield/lazydocker

安装

brew install lazydocker

集成(可选)

打开 ~/.zshrc,把下面这些别名追加到文件末尾:

alias lzd='lazydocker'

保存之后执行 source ~/.zshrc 生效。

用法

# 启动
lazydocker
lzd

# 切换面板
← →

# 选择容器 / 镜像
↑ ↓

# 启动 / 停止容器
s

# 重启容器
r

# 删除容器
d

# 查看日志
选中容器 → 进入 Logs 面板

# 删除镜像
d

# 搜索功能
/

PixPin_2026-04-09_18-00-46.png

zellij

Zellij 是一个面向开发者、运维人员以及所有热爱终端的用户的工作空间。类似的程序有时也被称为“终端复用器”。

  • 可以在一个终端里 多窗口分屏
  • 每个 pane 可以跑不同命令(像 tmux)
  • 支持 保存会话、断线恢复、布局管理
  • 更现代好上手的 tmux 替代品(终端分屏工具)

https://github.com/zellij-org/zellij

安装

brew install zellij

集成(可选)

打开 ~/.zshrc,把下面这些别名追加到文件末尾:

# 方式一:普通方式
eval "$(zellij setup --generate-auto-start zsh)"

# 方式二:如果你电脑安装其它例如 Ghostty,只想打开 Mac 终端启动 zellij,打开 Ghostty 不启动 zellij
if [[ "$TERM_PROGRAM" == "Apple_Terminal" ]]; then
  if [[ -z "$ZELLIJ" ]]; then
    eval "$(zellij setup --generate-auto-start zsh)"
  fi
fi

保存之后执行 source ~/.zshrc 生效。

配置

参考:https://zellij.dev/documentation/configuration.html

编辑文件 ~/.config/zellij

// 主题
theme "catppuccin-macchiato"

// 滚动缓冲区大小
scroll_buffer_size 10000

// 圆角
ui {
    pane_frames {
        rounded_corners true
    }
}

用法

# 打开面板
Ctrl + p
# 底部栏会有各种命令提示
n:新建面板
r:向右分割
d:向下分割
x:关闭面板
Alt + f:悬浮面板

# session
zellij -s demo
# 重新打开
zellij attach demo

# 打开sesion面板
Ctro + O
w:进入session管理

PixPin_2026-04-09_19-29-16.png

cmux

一个基于 GhosttymacOS 终端,带有垂直标签页和通知功能,适用于 AI 编码代理。

https://github.com/manaflow-ai/cmux

安装

brew install --cask cmux

使用

Command + D:左右分屏
Command + Shift + D:上下分屏
Command + W:关闭分屏
Command + N:新建工作区

PixPin_2026-04-10_09-17-34.png

通知

在终端使用 Claude 生成代码时,不想无聊等待而是切出去干别的,在生成完毕时并不会通知到你,那么 cmux 有一个通知功能,配合 Mac 的通知可以在屏幕上看到消息通知。

PixPin_2026-04-10_09-24-03.png

posted @ 2026-04-10 11:41  BugShare  阅读(80)  评论(1)    收藏  举报