¡Potencia tu Shell Fish! Guía de Inicio a la Personalización con Fisher y Oh My Fish 🐟
¡Hola, creadores web! ¿Usan la terminal (¡esa pantalla negra!) en su trabajo de desarrollo diario?
De hecho, personalizar esta terminal a su gusto puede mejorar drásticamente la eficiencia de su desarrollo y, sobre todo, hacer que su trabajo sea más agradable.
Esta vez, explicaremos a fondo cómo personalizar el shell "Fish", que tiene fama de ser moderno y fácil de usar. En particular, con los gestores de plugins como "Fisher" y "Oh My Fish", puedes añadir temas y funciones útiles con la misma facilidad que si instalaras aplicaciones en tu smartphone.
El objetivo de este artículo es que incluso los principiantes experimenten que las cosas "funcionan" simplemente copiando y pegando. ¡Dejemos las teorías difíciles para después! Primero, cambiemos la apariencia y añadamos funciones convenientes para experimentar la diversión de la personalización.
🚀 Primero, preparémonos: ¿Qué es un gestor de plugins?
Antes de empezar a personalizar Fish, expliquemos brevemente qué es un "gestor de plugins".
Es una herramienta que permite añadir, gestionar y eliminar fácilmente la apariencia (temas) y las funciones (plugins) de Fish. Sin él, tendrías que pasar por el tedioso proceso de descargar archivos manualmente, colocarlos en ubicaciones específicas y reescribir los archivos de configuración.
Con un gestor de plugins, puedes automatizar todo ese trabajo problemático simplemente ejecutando un solo comando. Esta vez, presentaremos dos de los más populares.
- Fisher: Sencillo y rápido. Su encanto reside en la facilidad para instalar plugins directamente desde los repositorios de GitHub.
- Oh My Fish: Una rica colección de temas y plugins se encuentran reunidos en el repositorio oficial, lo que facilita su búsqueda e instalación. Su facilidad de uso todo en uno es su característica clave.
Ambas son herramientas excelentes, pero tienen características diferentes. Este artículo explicará cómo usar ambas, para que puedas elegir la que mejor se adapte a ti.
*Este artículo asume que el shell Fish ya está instalado. Si aún no lo has instalado, puedes hacerlo fácilmente con Homebrew (macOS) o el gestor de paquetes de tu distribución de Linux.
# Para macOS (Homebrew)
brew install fish
🎣 ¡Probemos Fisher! Personalización al estilo "Simple es mejor"
Primero, probemos Fisher, que atrae por su simplicidad. Todas las configuraciones se consolidan en el archivo `~/.config/fish/config.fish`, lo que facilita su gestión.
1. Instalar Fisher
La instalación es tan sencilla como pegar el siguiente comando en tu terminal y ejecutarlo.
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
2. Cambiar la apariencia instalando un tema
Ahora que Fisher está listo, cambiemos la apariencia de tu terminal de inmediato. Aquí, instalaremos un tema simple y popular llamado "nospace".
fisher install jorgebucaran/nospace.fish
En el momento en que ejecutes el comando, la apariencia de tu prompt (la parte `>` o `$` antes de escribir un comando) debería haber cambiado. Como puedes ver, puedes añadir fácilmente temas y plugins simplemente especificando el `nombre_usuario/repositorio` de GitHub después de `fisher install`.
Hay muchos otros temas disponibles. Por ejemplo, probemos también el popular tema "bobthefish", que muestra mucha información.
fisher install oh-my-fish/theme-bobthefish
Nota: Los temas de alta funcionalidad como bobthefish pueden requerir la instalación por separado de fuentes especiales como "Nerd Fonts". Si la visualización se corrompe, intenta revisar la configuración de fuentes de tu aplicación de terminal.
3. Añadir funcionalidad con plugins
Después de cambiar la apariencia, añadamos algunas funciones útiles. Aquí, instalaremos un plugin llamado "z", que te permite volver fácilmente a los directorios que has visitado antes.
fisher install jethrokuan/z
Después de la instalación, intenta moverte por algunos directorios con el comando `cd`. Luego, escribiendo `z` seguido de una parte del nombre de un directorio y presionando la tecla Tab, autocompletará candidatos de tu historial. Por ejemplo, si has navegado previamente a `/var/www/html/my-project`, puedes simplemente escribir `z my-p` y presionar Tab para ir allí, lo cual es muy eficiente.
4. Comprobar y eliminar paquetes instalados
Para comprobar lo que está instalado actualmente, usa el comando `list`.
fisher list
También es fácil eliminar temas o plugins que ya no necesites. Especifica el nombre del paquete después de `remove`. Eliminemos el tema `bobthefish` que acabamos de instalar.
fisher remove oh-my-fish/theme-bobthefish
🐠 ¡Probemos Oh My Fish! Personalización divertida con una gran cantidad de opciones
A continuación, probemos Oh My Fish (OMF). Una gran ventaja de OMF es que muchos temas y plugins están catalogados oficialmente, lo que facilita que los principiantes que no saben qué instalar encuentren algo.
[Importante] No se recomienda usar Fisher y Oh My Fish al mismo tiempo. Si quieres probar OMF después de probar Fisher, se recomienda primero eliminar los plugins de Fisher y luego instalar OMF, o probarlo en un entorno diferente.
1. Instalar Oh My Fish
La instalación también se completa con un solo comando.
curl -L https://get.oh-my.fish | fish
Una vez que la instalación esté completa, se debería aplicar el tema predeterminado de OMF.
2. Encontrar y aplicar un tema
Lo bueno de OMF es que puedes encontrar y probar temas fácilmente. Primero, veamos una lista de temas disponibles.
omf theme
Se mostrará una lista de muchos nombres de temas. Para aplicar un tema que te interese, especifica el nombre del tema después de `omf theme`. Por ejemplo, probemos el popular tema `agnoster`.
omf theme agnoster
Esto por sí solo instalará y aplicará inmediatamente el tema. Prueba varios temas y encuentra tu favorito.
3. Instalar un plugin
Instalar plugins también es fácil. Especifica el nombre del plugin después de `omf install`. Aquí, instalemos el muy útil plugin "fzf", que te permite buscar interactivamente en tu historial de comandos con `Ctrl+R`. (*Requiere la instalación previa del ejecutable principal de `fzf`.)
omf install fzf
Después de la instalación, prueba a presionar `Ctrl+R` en tu terminal. Debería aparecer una lista de tus comandos ejecutados anteriormente, permitiéndote realizar una búsqueda filtrada. Esta es una función tan conveniente que no podrás vivir sin ella una vez que la uses.
Los paquetes disponibles se pueden buscar con `omf search -t` (temas) o `omf search -p` (plugins).
4. Comprobar y eliminar paquetes instalados
Puedes comprobar la lista de paquetes (temas y plugins) instalados con OMF usando el comando `list`.
omf list
Elimina los plugins que ya no necesites con `remove`.
omf remove fzf
🤔 Fisher vs Oh My Fish: ¿Cuál es mejor al final?
Hemos presentado ambas herramientas hasta ahora, pero algunos de ustedes podrían preguntarse: "Entonces, ¿cuál debo usar?". Aquí hay una guía simple para ayudarte a elegir.
-
🎣 Quién debería usar Fisher
- Personas que prefieren un entorno simple y ligero.
- Personas que quieren encontrar plugins de GitHub y otras fuentes y combinarlos libremente.
- Personas que quieren gestionar sus configuraciones de forma centralizada en un solo lugar, `config.fish`.
-
🐠 Quién debería usar Oh My Fish
- Principiantes en la personalización de la terminal que no saben por dónde empezar.
- Personas que quieren elegir fácilmente de una rica selección catalogada de temas y plugins.
- Personas que valoran las operaciones simples, como cambiar de tema con un solo comando.
Es una buena idea probar uno primero, y si sientes que no te conviene, prueba el otro.
✍️ Avanzado: ¡Personaliza aún más editando directamente `config.fish`!
Incluso sin usar un gestor de plugins, puedes realizar varias personalizaciones editando directamente el archivo de configuración de Fish, `config.fish`. Al combinar esto con la funcionalidad de los plugins, puedes construir un entorno aún más potente.
El archivo de configuración generalmente se encuentra en `~/.config/fish/config.fish`. Los comandos escritos en este archivo se cargarán automáticamente cuando se inicie Fish.
Establecer alias para acortar comandos
Es muy conveniente reemplazar los comandos largos que se usan con frecuencia por palabras clave cortas (alias). Por ejemplo, hagamos que el comando `ls -laF` se pueda ejecutar con `ll`.
Añade la siguiente línea a tu archivo `config.fish`.
alias ll="ls -laF"
Después de guardar el archivo, abre una nueva terminal o ejecuta `source ~/.config/fish/config.fish` para aplicar la configuración. Ahora, simplemente escribiendo `ll` se ejecutará `ls -laF`.
Los alias de comandos de Git también son un clásico.
alias gco="git checkout"
alias gst="git status"
alias gaa="git add ."
Establecer variables de entorno
Las variables que quieres usar en todo el sistema, como la configuración del editor, se establecen como "variables de entorno". En Fish, usas `set -x`. Por ejemplo, para establecer el editor predeterminado en `vim`, escribirías lo siguiente en `config.fish`.
set -x EDITOR "vim"
⚠️ Puntos a tener en cuenta
La personalización es divertida, pero hay algunas cosas a tener en cuenta.
- Ten cuidado de no instalar demasiados plugins: Aunque son convenientes, añadir una gran cantidad de plugins puede afectar el rendimiento, como ralentizar el inicio del shell. Sé selectivo e instala solo lo que realmente necesitas.
- Haz una copia de seguridad de tu archivo de configuración: Se recomienda encarecidamente hacer una copia de seguridad de tu archivo `config.fish` antes de editarlo directamente o de realizar cambios importantes en la configuración de tu gestor de plugins. Si algo sale mal, puedes volver rápidamente al estado anterior.
- Problemas de compatibilidad: En raras ocasiones, los plugins pueden interferir entre sí y no funcionar correctamente. Si encuentras un problema, intenta deshabilitar los plugins añadidos recientemente uno por uno para aislar la causa.
🎉 Conclusión
En este artículo, como primer paso en la personalización del shell Fish, presentamos cómo usar los gestores de plugins "Fisher" y "Oh My Fish", así como los métodos básicos de personalización a través del archivo de configuración `config.fish`.
Al principio, es suficiente con probar las cosas copiando y pegando. Simplemente cambiando la apariencia de tu prompt o pudiendo usar nuevos comandos debería hacer que tu trabajo de desarrollo diario sea mucho más agradable.
A partir de aquí, explora varios temas y plugins, ¡y construye tu propio "entorno de terminal definitivo"!