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) - Instalar Temas y Plugins

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 FishFisher
EstadoSin mantenimientoMantenimiento activo
EnfoqueFramework (tiene su propio init)Solo gestor de plugins
Impacto en el arranqueAñade algo de sobrecargaCero sobrecarga
Formato de pluginsPaquetes específicos de OMFPlugins estándar de Fish
CompatibilidadSolo paquetes OMFPaquetes OMF + cualquier plugin de Fish
ConfiguraciónComandos omf + archivos de configComandos fisher + archivo fish_plugins
TemasSistema de temas integradoInstalar 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:

  1. Anota tus paquetes instalados: omf list
  2. Instala Fisher:
    curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
  3. 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
  4. 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