¿Qué es ble.sh?
ble.sh, el Bash Line Editor, es un editor de línea escrito en Bash puro que sustituye a GNU Readline en las sesiones interactivas de Bash. Conservas Bash, tu ~/.bashrc, tus alias y tus scripts, y ganas lo que normalmente obliga a cambiar de shell: resaltado de sintaxis mientras escribes, autosugerencias del historial al estilo de fish, un modo vim completo junto a los atajos de emacs, autocompletado con menús y descripciones, abreviaturas e integración con bash-completion y fzf. Lo escribe Koichi Murase y se publica bajo la licencia BSD-3-Clause. No hay ningún binario que ejecutar: el paquete instala el script en /usr/share/blesh/ble.sh y dos líneas en tu ~/.bashrc lo activan.
apt upgrade.
⚡ Funciones clave de ble.sh
🎨 Resaltado de sintaxis
Comandos, palabras clave, cadenas, variables, redirecciones y nombres de archivo se colorean mientras escribes, y un comando desconocido o un error de sintaxis se ve antes de pulsar Enter.
💡 Autosugerencias
Sugerencias al estilo de fish, tomadas del historial y del autocompletado, aparecen en gris tras el cursor. Acepta la sugerencia completa con la flecha derecha o C-f, o palabra a palabra con M-f.
⌨️ Modos vim y emacs
Atajos de emacs por defecto y un modo vi/vim completo con set -o vi: modos normal, inserción y visual, objetos de texto, registros y una línea de estado opcional al estilo de vim-airline.
📋 Menú de autocompletado
Tab abre un menú de candidatos que recorres con las flechas, con descripciones cuando las hay y coincidencia ambigua (difusa).
✂️ Abreviaturas
ble-sabbrev define abreviaturas que se expanden al escribir, como las abreviaturas de fish o los alias globales de zsh, de modo que L se convierte en | less.
🐚 Bash puro, sin binario
Nada que compilar y nada dependiente de la arquitectura: ble.sh es un script de Bash que funciona allí donde funcione Bash 3.0 o posterior, y no interfiere en shells no interactivas ni en scripts.
apt upgrade te mantiene en la última versión.
📦 Instalación desde deb.griffo.io
Paso 1: Añadir el repositorio
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 updateinstall -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🆓 Existe un espejo gratis para siempre. deb-free.griffo.io sirve paquetes gratis para siempre: sin cuenta, sin suscripción, como máximo 2 meses por detrás del upstream, correcciones de seguridad inmediatas. Ahora mismo incluye cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud y Zed; ble.sh no está entre ellas, así que hoy el repositorio de arriba es la única forma de instalarlo — pídelo y puede añadirse.
Paso 2: Instalar ble.sh
# Instalar la última versión de ble.sh
sudo apt install ble.sh
# Opcional: temas de vim-airline para la línea de estado del modo vi
sudo apt install ble.sh-airline-themes# Instalar la última versión de ble.sh
apt install ble.sh
# Opcional: temas de vim-airline para la línea de estado del modo vi
apt install ble.sh-airline-themesPaso 3: Activar ble.sh en tu ~/.bashrc
# ble.sh no tiene un comando propio: Bash lo carga desde ~/.bashrc.
# Pon esta línea cerca del PRINCIPIO de ~/.bashrc:
[[ $- == *i* ]] && source /usr/share/blesh/ble.sh --noattach
# ...el resto de tu ~/.bashrc queda igual...
# Y esta línea justo al FINAL de ~/.bashrc:
[[ ${BLE_VERSION-} ]] && ble-attach
# Abre una terminal nueva y luego:
# Verificar la instalación
echo $BLE_VERSION🎯 Ejemplos básicos de uso
Uso diario:
# Comprobar que ble.sh está activo en esta shell
echo $BLE_VERSION
# Recargar ble.sh tras cambiar sus ajustes
ble-reload
# Las actualizaciones llegan por apt; ble-update te remite allí
sudo apt update && sudo apt upgrade# Comprobar que ble.sh está activo en esta shell
echo $BLE_VERSION
# Recargar ble.sh tras cambiar sus ajustes
ble-reload
# Las actualizaciones llegan por apt; ble-update te remite allí
apt update && apt upgradeAjustes en ~/.blerc:
# ble.sh lee sus ajustes de ~/.blerc (o ~/.config/blesh/init.sh)
# Atajos de vim en lugar de emacs
set -o vi
# Esperar 300 ms antes de mostrar una autosugerencia
bleopt complete_auto_delay=300
# Desactivar por completo las autosugerencias
bleopt complete_auto_complete=
# Cambiar el color del texto sugerido
ble-face auto_complete='fg=242'Abreviaturas, atajos de teclado e integraciones:
# Expandir "L" a "| less" mientras escribes
ble-sabbrev L='| less'
# Que Ctrl+C descarte la línea actual
ble-bind -f 'C-c' discard-line
# Autocompletado y atajos de fzf, adaptados a ble.sh
ble-import -d integration/fzf-completion
ble-import -d integration/fzf-key-bindings
# Línea de estado al estilo de vim-airline (requiere ble.sh-airline-themes)
ble-import vim-airline
bleopt vim_airline_theme=dark🔧 Integraciones con otras herramientas
ble.sh se coloca debajo de tu configuración de Bash en lugar de sustituirla:
- bash-completion: los autocompletados del paquete
bash-completionse detectan automáticamente y aparecen en el menú - fzf:
ble-importcarga versiones del autocompletado y los atajos de fzf adaptadas a ble.sh - Atuin: la integración de Atuin con Bash es compatible con ble.sh, que le da hooks preexec fiables para registrar el historial
- Starship / Oh My Posh: los prompts que generan siguen funcionando sin cambios
- Archivo de configuración:
~/.blercguarda tus ajustes debleopt,ble-faceyble-bind, separados de~/.bashrc
🚀 ¿Por qué elegir deb.griffo.io?
- Ubuntu oficial: disponible en universe desde 25.10, como una instantánea congelada durante la vida de cada versión; 22.04 y 24.04 no lo tienen
- git clone + make: actualizado, pero compilado e instalado a mano en
~/.local, y tienes que mantenerlo al día tú mismo conble-update - deb.griffo.io: última versión con actualizaciones automáticas
- ✅ Instantáneas recientes: las instantáneas nightly de upstream, con arreglos para nuevas versiones de Bash y terminales
- ✅ Sin configuración manual: sin git clone, sin
make, sin una copia de ble.sh en tu directorio personal que mantener - ✅ Actualizaciones automáticas: paquetes actualizados pocas horas después de cada release upstream
- ✅ Paquete completo: el árbol completo de ble.sh en
/usr/share/blesh, su documentación y el paquete opcionalble.sh-airline-themes - ✅ Todas las arquitecturas: se publica como
Architecture: all, así que amd64, arm64, armhf, riscv64 y el resto instalan el mismo paquete - ✅ Multidistribución: funciona en Ubuntu 22.04, 24.04, 25.10 y 26.04
- ✅ Mantenimiento sencillo: comandos apt de siempre para actualizar
📦 Repositorio de compilación del paquete
Los paquetes de Ubuntu se compilan y mantienen automáticamente en este repositorio de GitHub:
- 🖍️ ble.sh-debian - Compilaciones de las últimas versiones
🔗 Paquetes relacionados
También disponibles en deb.griffo.io:
- fzf - Buscador difuso con el que ble.sh se integra
- Atuin - Historial de la shell en una base de datos, compatible con ble.sh
- Starship - Prompt multishell que funciona bajo ble.sh
- zoxide - Un cd más inteligente que aprende tus directorios
~/.bashrc antes que reescribirlo para otra shell.