Oh My Fish (OMF) - Instalar Temas y Plugins
Cómo instalar y usar el framework Oh My Fish para Fish Shell, incluyendo temas, plugins y cuándo considerar Fisher como alternativa.
Oh My Fish (OMF) es un framework para Fish Shell, similar a lo que Oh My Zsh es para Zsh. Te da una herramienta de línea de comandos (omf) para instalar temas y plugins desde un repositorio curado. Lo usé brevemente antes de pasarme a Fisher, y voy a ser directo sobre por qué.
Estado de mantenimiento de OMF
La página de GitHub de Oh My Fish tiene un aviso de que el proyecto lleva años sin mantenimiento y algunos paquetes están rotos. Sigue funcionando para muchos casos de uso, pero si empiezas desde cero, Fisher es la opción con mantenimiento más activo. Cubro OMF aquí porque todavía se referencia mucho en guías y foros.
Instalar Oh My Fish
Asegúrate de tener Fish Shell instalado primero. Después:
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
El instalador descarga OMF y lo configura en ~/.local/share/omf/ con la configuración en ~/.config/omf/.
Para verificar:
omf version
Instalación sin conexión
Si necesitas instalar sin acceso a internet (servidores, entornos aislados):
git clone https://github.com/oh-my-fish/oh-my-fish
cd oh-my-fish
bin/install --offline
Conceptos básicos de OMF
Toda la gestión se hace a través del comando omf.
Instalar un paquete o tema
omf install bobthefish
omf install z
omf install bass
Listar paquetes instalados
omf list
Aplicar un tema
omf theme bobthefish
Para ver los temas disponibles:
omf theme
Actualizar todo
omf update
Eliminar un paquete
omf remove z
Desinstalar OMF completamente
omf destroy
Temas populares de OMF
Estos son temas que siguen funcionando bien a pesar de los vacíos de mantenimiento de OMF.
bobthefish
El tema más popular de OMF. Es un prompt estilo Powerline que muestra el estado de git, entornos virtuales, versión de Node y más. Necesita una Nerd Font o fuente Powerline.
omf install bobthefish
Configúralo mediante variables de entorno:
set -g theme_display_git yes
set -g theme_display_git_dirty yes
set -g theme_display_docker_machine yes
set -g theme_color_scheme dracula
set -g theme_nerd_fonts yes
agnoster
Un port del tema Agnoster de Zsh. Prompt de dos líneas con caracteres Powerline, información de git y soporte para virtualenv.
omf install agnoster
clearance
Un tema limpio y minimalista. No necesita fuentes especiales.
omf install clearance
lambda
Tema minimalista con un carácter λ en el prompt.
omf install lambda
Puedes ver los temas de OMF (con capturas de pantalla) en la documentación de temas de Oh My Fish.
Plugins útiles de OMF
bass
Ejecuta scripts de Bash y captura los cambios en variables de entorno. Útil para herramientas que solo soportan configuración en Bash:
omf install bass
bass source ~/.nvm/nvm.sh
Este es uno de los paquetes más genuinamente útiles de OMF. Cubre la brecha entre la sintaxis no POSIX de Fish y las herramientas exclusivas de Bash.
z
Salto entre directorios similar a zoxide. Registra los directorios que visitas y te permite saltar a ellos con nombres parciales:
omf install z
z projects
Yo recomendaría zoxide sobre este — es más rápido, funciona en varios shells y tiene mantenimiento activo. Pero si quieres todo a través de OMF, el plugin z funciona.
fish-spec
Un framework de testing para funciones de Fish. Útil si escribes plugins de Fish o funciones complejas:
omf install fish-spec
extract
Una herramienta universal de extracción de archivos. extract file.tar.gz en lugar de recordar los flags de tar:
omf install extract
Archivos de configuración de OMF
OMF usa dos archivos de configuración:
~/.config/omf/bundle — lista los paquetes instalados:
package bass
package z
theme bobthefish
~/.config/omf/init.fish — se ejecuta al inicio. Añade aquí tu configuración específica de OMF:
# ~/.config/omf/init.fish
set -g theme_nerd_fonts yes
set -g theme_color_scheme dracula
Compartir tu directorio ~/.config/omf/ entre máquinas te permite replicar tu configuración con omf install.
OMF vs Fisher
Esta es la pregunta real. Así se comparan:
| Oh My Fish | Fisher | |
|---|---|---|
| Estado | Sin mantenimiento | Mantenimiento activo |
| Enfoque | Framework (tiene su propio init) | Solo gestor de plugins |
| Impacto en el arranque | Añade algo de sobrecarga | Cero sobrecarga |
| Formato de plugins | Paquetes específicos de OMF | Plugins estándar de Fish |
| Compatibilidad | Solo paquetes OMF | Paquetes OMF + cualquier plugin de Fish |
| Configuración | Comandos omf + archivos de config | Comandos fisher + archivo fish_plugins |
| Temas | Sistema de temas integrado | Instalar plugins de prompt directamente |
Fisher es más rápido, tiene mantenimiento y puede instalar paquetes compatibles con OMF. La razón principal para usar OMF hoy es si ya tienes una configuración de OMF funcionando y no quieres migrar.
Migrar de OMF a Fisher
Si quieres cambiar:
- Anota tus paquetes instalados:
omf list - Instala Fisher:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher - Instala los equivalentes a través de Fisher. La mayoría de paquetes OMF se pueden instalar directamente:
fisher install oh-my-fish/theme-bobthefish - Desinstala OMF:
omf destroy
Fisher puede instalar paquetes del repositorio de OMF usando el prefijo oh-my-fish/. No todos los paquetes funcionan, pero los populares sí.
Crear paquetes de OMF
Si quieres crear tu propio paquete o tema:
omf new plugin my-plugin
omf new theme my-theme
Esto crea una estructura en ~/.config/omf/pkg/my-plugin/ o ~/.config/omf/themes/my-theme/.
Estructura de un plugin:
my-plugin/
├── completions/
│ └── my-plugin.fish
├── functions/
│ └── my-plugin.fish
├── init.fish
└── uninstall.fish
init.fish se ejecuta cuando se carga el plugin. uninstall.fish se ejecuta cuando se elimina.
Solución de problemas
Comandos de OMF no encontrados — reinicia tu shell después de la instalación, o ejecuta source ~/.config/fish/conf.d/omf.fish.
El tema no cambia — algunos temas necesitan una Nerd Font. Instala MesloLGS NF y configúrala en tu terminal.
Errores en plugins después de actualizar — el estado sin mantenimiento de OMF significa que algunos plugins pueden romperse. Revisa la página de GitHub del plugin buscando parches, o encuentra una alternativa compatible con Fisher.
Guías relacionadas
- Mejores plugins para Fish Shell (Fisher) — el gestor de plugins recomendado
- Temas y prompts de Fish Shell — Tide, Starship, Pure, Hydro
- Fish Shell vs Zsh — si estás comparando OMF con Oh My Zsh
- Mejores plugins de Oh My Zsh — el equivalente para Zsh
- Instalar Fish Shell en Ubuntu — primeros pasos
- Fish Shell en macOS — configuración en Mac