⚡ 64 个开发者工具,始终保持最新 — 上游每次发布后数小时内即可通过 apt 获取。 加入 Discord

📅 自 起,使用本 apt 镜像需要订阅。 查看价格 · 🆓 有一个永久免费的镜像 · 🔐 apt 报 401?

🖍️ 在 Ubuntu 上安装最新版 ble.sh

Bash Line Editor:纯 Bash 实现的语法高亮、自动建议、vim 与 emacs 模式以及强大的补全

最新版本:0.4.0 · 更新于 2026-10-13
来源版本
deb.griffo.io0.4.0 ✅
官方 Ubuntu0.4.0 ✅
← 返回首页

什么是 ble.sh?

ble.sh,即 Bash Line Editor,是一个用纯 Bash 编写的命令行编辑器,在交互式 Bash 会话中取代 GNU Readline。你保留 Bash、你的 ~/.bashrc、别名和脚本,同时获得通常只有换 shell 才有的功能:输入时的语法高亮、类似 fish 的历史自动建议、与 emacs 键位并存的完整 vim 模式、带菜单和说明的补全、缩写,以及与 bash-completion 和 fzf 的集成。作者是 Koichi Murase,以 BSD-3-Clause 许可证发布。它没有需要运行的二进制程序:软件包把脚本安装到 /usr/share/blesh/ble.sh,在 ~/.bashrc 中加两行即可启用。

🚀 为什么最新版本很重要: ble.sh 在 master 分支上持续开发,带标签的稳定版本很少且间隔很长,因此上游的安装说明推荐使用 nightly 构建或 git 检出。Debian 和 Ubuntu 打包的是一个快照,在整个发行版生命周期内保持冻结(Debian 稳定版甚至没有收录)。本仓库跟随上游的 nightly 快照,针对新版 Bash、终端和补全集成的修复都会通过 apt upgrade 送到你手上。

⚡ ble.sh 的主要功能

🎨 语法高亮

命令、关键字、字符串、变量、重定向和文件名在输入时即被着色,未知命令或语法错误在按下回车之前就能看出来。

💡 自动建议

类似 fish 的建议来自历史记录和补全,以灰色显示在光标之后。用右方向键或 C-f 接受整条建议,或用 M-f 逐词接受。

⌨️ vim 与 emacs 模式

默认使用 emacs 键位,执行 set -o vi 即可获得完整的 vi/vim 模式:普通、插入和可视模式,文本对象、寄存器,以及可选的 vim-airline 风格状态栏。

📋 菜单补全

按 Tab 打开候选菜单,可用方向键移动,有说明时显示说明,并支持模糊匹配。

✂️ 缩写

ble-sabbrev 定义在输入时展开的缩写,类似 fish 的缩写或 zsh 的全局别名,例如把 L 展开为 | less。

🐚 纯 Bash,无二进制

无需编译,也不依赖架构:ble.sh 是一个 Bash 脚本,只要有 Bash 3.0 或更新版本就能运行,并且不会干扰非交互式 shell 和脚本。

🚀 始终领先于官方软件源: Debian 和 Ubuntu 在发布时冻结软件包版本,而本仓库通常在上游发布后数小时内就发布新版本。一条简单的 apt upgrade 就能让你保持最新。

📦 从 deb.griffo.io 安装

运行命令

第 1 步:添加仓库

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt update
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update

🆓 有一个永久免费的镜像。 deb-free.griffo.io 永久免费提供软件包 — 无需账号、无需订阅,最多落后上游 2 个月,安全修复立即发布。目前收录 cliamp、Ghostty、lazydocker、Oh My Posh、Uncloud 和 Zed;ble.sh 不在其中,因此今天只能通过上面的仓库安装 — 提出请求即可将其加入。

免费镜像的工作方式 →

第 2 步:安装 ble.sh

# 安装最新版 ble.sh
sudo apt install ble.sh

# 可选:用于 vi 模式状态栏的 vim-airline 主题
sudo apt install ble.sh-airline-themes
# 安装最新版 ble.sh
apt install ble.sh

# 可选:用于 vi 模式状态栏的 vim-airline 主题
apt install ble.sh-airline-themes

第 3 步:在 ~/.bashrc 中启用 ble.sh

# ble.sh 没有要运行的命令:由 Bash 从 ~/.bashrc 加载。
# 把这一行放在 ~/.bashrc 的开头附近:
[[ $- == *i* ]] && source /usr/share/blesh/ble.sh --noattach

# ...~/.bashrc 其余内容保持不变...

# 再把这一行放在 ~/.bashrc 的最末尾:
[[ ${BLE_VERSION-} ]] && ble-attach

# 打开一个新终端,然后:
# 验证安装
echo $BLE_VERSION

🎯 基本用法示例

日常使用:

# 检查当前 shell 中 ble.sh 是否已启用
echo $BLE_VERSION

# 修改设置后重新加载 ble.sh
ble-reload

# 更新通过 apt 获取;ble-update 也会引导你使用 apt
sudo apt update && sudo apt upgrade
# 检查当前 shell 中 ble.sh 是否已启用
echo $BLE_VERSION

# 修改设置后重新加载 ble.sh
ble-reload

# 更新通过 apt 获取;ble-update 也会引导你使用 apt
apt update && apt upgrade

~/.blerc 中的设置:

# ble.sh 从 ~/.blerc(或 ~/.config/blesh/init.sh)读取设置
# 使用 vim 键位而不是 emacs
set -o vi

# 停顿 300 毫秒后再显示自动建议
bleopt complete_auto_delay=300

# 完全关闭自动建议
bleopt complete_auto_complete=

# 修改建议文字的颜色
ble-face auto_complete='fg=242'

缩写、按键绑定与集成:

# 输入时把 "L" 展开为 "| less"
ble-sabbrev L='| less'

# 让 Ctrl+C 丢弃当前行
ble-bind -f 'C-c' discard-line

# 适配 ble.sh 的 fzf 补全与按键绑定
ble-import -d integration/fzf-completion
ble-import -d integration/fzf-key-bindings

# vim-airline 风格状态栏(需要 ble.sh-airline-themes)
ble-import vim-airline
bleopt vim_airline_theme=dark

🔧 工具集成

ble.sh 位于你现有的 Bash 配置之下,而不是取而代之:

  • bash-completion:bash-completion 软件包提供的补全会被自动识别并显示在菜单中
  • fzf:ble-import 加载适配 ble.sh 的 fzf 补全和按键绑定
  • Atuin:Atuin 的 Bash 集成支持 ble.sh,借此获得可靠的 preexec 钩子来记录历史
  • Starship / Oh My Posh:它们生成的提示符照常工作,无需改动
  • 配置文件:~/.blerc 保存你的 bleopt、ble-face 和 ble-bind 设置,与 ~/.bashrc 分开

🚀 为什么选择 deb.griffo.io?

📊 仓库对比:
  • 官方 Ubuntu:从 25.10 起在 universe 中提供,但只是在每个版本生命周期内冻结的快照;22.04 和 24.04 没有
  • git clone + make:版本最新,但需要手动构建并安装到 ~/.local,还得自己用 ble-update 保持更新
  • deb.griffo.io:最新版本,并自动更新

📦 软件包构建仓库

Ubuntu 软件包在这个 GitHub 仓库中自动构建和维护:

🔗 相关软件包

deb.griffo.io 同样提供:

🎯 特别适合:想在不离开 Bash 的前提下获得 fish 或 zsh 便利功能的 Bash 用户、只有 Bash 可用的服务器、希望在命令行中进行真正模态编辑的 vim 用户,以及宁愿保留 ~/.bashrc 也不想为另一个 shell 重写配置的所有人。

📦 本仓库最近发布

❓ 常见问题

ble.sh 在官方 Ubuntu 软件源中吗?

在,但官方 Ubuntu 源只提供 ble.sh 0.4.0,而本仓库提供 ble.sh 0.4.0,每次上游发布后数小时内重新构建。

如何在 Ubuntu 上安装最新版 ble.sh?

按上方说明一次性添加 deb.griffo.io 仓库,然后运行:sudo apt install ble.sh。之后通过常规的 sudo apt upgrade 获取新版本。

软件包是否有签名?如何构建?

每个软件包都使用仓库的 GPG 密钥(EA0F721D231FDD3A0A17B9AC7808B4DD62C41256)签名,并基于上游发布在公开的 GitHub 仓库中构建,任何人都可以审查。

支持哪些 Ubuntu 版本?

Ubuntu 22.04 Jammy、24.04 Noble、25.10 Questing 和 26.04 Resolute。