¿Qué es Television?
Television —el comando es tv— es un buscador difuso construido alrededor de canales. Un canal es una fuente de datos con nombre, con su propio comando de vista previa, atajos y acciones: archivos, texto dentro de archivos, directorios, repositorios git, variables de entorno, procesos, contenedores de Docker o cualquier cosa que puedas describir en unas pocas líneas de TOML. Busca mientras escribes, previsualiza lo seleccionado y entrega el resultado al shell, a un editor o a tu propio comando.
tv update-channels descarga los prototipos de canal más recientes, que esperan un binario acorde. Ni Debian ni Ubuntu lo empaquetan, así que una compilación actual no es un lujo: es la única forma de tenerlo.
⚡ Funciones clave de Television
🔎 Canales, no solo archivos
Archivos, texto, directorios, repositorios git, variables de entorno, procesos y contenedores son canales — tv list-channels muestra los que trae esta compilación.
👁️ Vista previa incluida
Cada canal puede definir un comando de vista previa, así ves el archivo, el log, el diff o los detalles del contenedor junto a la lista de resultados.
🧵 Modificable en TOML
Un canal es un pequeño archivo TOML con su comando de origen, vista previa, atajos y acciones: un flujo nuevo es un archivo en ~/.config/television/cable/.
⌨️ Integración con el shell
tv init pone el autocompletado inteligente en Ctrl+T y la búsqueda en el historial en Ctrl+R, para bash, zsh y fish.
🚀 Rápido por diseño
Un emparejador asíncrono y paralelo mantiene la escritura fluida con fuentes enormes, y las vistas previas se calculan bajo demanda y pueden cachearse.
🧰 Modo improvisado
--source-command y --preview-command convierten dos comandos de shell en un buscador puntual, sin escribir ningún canal.
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 updatesudo apt install extrepo
sudo extrepo enable griffo
sudo 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 y Zed; Television no está entre ellas, así que hoy el repositorio de arriba es la única forma de instalarlo — pídelo y puede añadirse.
🧩 Sobre la opción extrepo. extrepo es la herramienta propia de Debian para repositorios externos: escribe el archivo de sources e instala la clave de firma por ti, comprobándola antes contra metadatos firmados. Este repositorio está registrado en ella como griffo, y el espejo gratuito para siempre como griffo-free, así que en Debian (bookworm, trixie, forky y sid) los comandos de arriba son toda la configuración.
extrepo solo configura el archivo de sources y la clave: las credenciales de una suscripción siguen yendo en /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu no está cubierto, porque extrepo publica metadatos solo para las suites de Debian: allí usa los comandos con sudo o como root.
Paso 2: Instalar Television
# Instalar la última versión de Television
sudo apt install television
# Verificar la instalación
tv --version# Instalar la última versión de Television
apt install television
# Verificar la instalación
tv --versionPaso 3: Primera ejecución e integración con el shell
# Ver qué canales trae esta compilación
tv list-channels
# Buscar entre los archivos del directorio actual
tv files
# Integración con el shell: Ctrl+T para completar, Ctrl+R para el historial
echo 'eval "$(tv init bash)"' >> ~/.bashrc
# La página de manual y las completaciones de bash, zsh y fish vienen en el paquete
man tv🎯 Ejemplos básicos de uso
Búsquedas del día a día:
# El canal por defecto
tv
# Los canales que más vas a usar
tv files
tv text
tv dirs
tv git-repos
# Empezar en otro directorio
tv files ~/src
# Traer los prototipos de canal más recientes
tv update-channelsCanales improvisados desde cualquier comando:
# Convertir cualquier comando en un buscador difuso
tv --source-command "fd -t f -H"
# Con una vista previa construida a partir de la entrada seleccionada
tv --source-command "git branch --format='%(refname:short)'" \
--preview-command "git log -20 --oneline {}"
# Conservar los colores que emite el comando de origen
tv --source-command "rg --color=always -n TODO" --ansi
# Mantener el orden del origen en vez del ranking de coincidencias
tv --source-command "ls -t" --no-sortShell, completado y canales propios:
# Activar Ctrl+T y Ctrl+R en este shell
eval "$(tv init zsh)"
# Completado por tabulador para los subcomandos de tv
tv completions fish > ~/.config/fish/completions/tv.fish
# Los canales propios viven en el directorio cable
mkdir -p ~/.config/television/cable
$EDITOR ~/.config/television/cable/tldr.toml
# Tras una actualización, limpia de tu configuración los valores escritos por la máquina
tv migrate-config🔧 Integraciones con otras herramientas
Television está pensado para pegarse al resto de tu entorno:
- Tu shell:
tv init bash,zshofishañade autocompletado inteligente y búsqueda en el historial, y cualquier canal puede escribir directamente en la línea de comandos - Editores: hay integraciones para Neovim, Vim, VS Code, IDEs de JetBrains y Zed, todas sobre el mismo binario
- ripgrep y compañía: los canales son comandos de shell, así que
rg,fd,git,dockero tu propio script pueden ser el origen - Configuración:
~/.config/television/config.tomlpara valores por defecto y atajos,cable/*.tomlpara los canales - Todo lo demás: la entrada seleccionada se imprime por stdout, así que
tvse combina con tuberías, alias y scripts como cualquier otro comando
🚀 ¿Por qué elegir deb.griffo.io?
- Debian oficial: no empaqueta Television:
apt install televisionfalla en un sistema recién instalado - cargo install television: actualizado, pero es compilar Rust en cada máquina, fuera de apt y sin página de manual ni completaciones
- El script de instalación upstream: cómodo, pero escribe en tu sistema a espaldas del gestor de paquetes y se actualiza por su cuenta
- deb.griffo.io: última versión con actualizaciones automáticas
- ✅ Los canales acompañan al binario: los prototipos de canal evolucionan con la herramienta, así que una compilación actual es lo que hace útil a
tv update-channelsen lugar de confuso - ✅ La única fuente apt: Television no está ni en los archivos de Debian ni en los de Ubuntu; este repositorio empaqueta la compilación oficial upstream
- ✅ Actualizaciones automáticas: los paquetes se actualizan pocas horas después de cada versión upstream
- ✅ Paquete completo: el binario upstream como
/usr/bin/tv, la página de manualtv.1y las completaciones de bash, zsh y fish - ✅ Tres arquitecturas y un conflicto declarado: amd64, arm64 e i386; además el paquete declara un conflicto con
treeviewx, que usa la misma ruta/usr/bin/tv, para que apt te avise en vez de dejar que dos paquetes se peleen por ella - ✅ Multidistribución: funciona en Bookworm, Trixie, Forky y Sid
- ✅ Mantenimiento sencillo: actualizaciones con los comandos apt de siempre
📦 Repositorio de compilación del paquete
Los paquetes de Debian se compilan y mantienen automáticamente en este repositorio de GitHub:
- 📼 television-debian - Compilaciones de las últimas versiones
🔗 Paquetes relacionados
También disponibles en deb.griffo.io:
- fzf - El buscador difuso clásico, si prefieres su modelo
- ripgrep - Búsqueda recursiva rápida para alimentar un canal
- zoxide - Saltos entre directorios que combinan con tv dirs
- Yazi - Gestor de archivos en terminal para revisar lo encontrado