fish-shell / fish-shell

fish es un shell de línea de comandos inteligente y fácil de usar para macOS, Linux y el resto de la familia. fish incluye características como resaltado de sintaxis, autosugerencias mientras se escribe y compleciones de pestañas extravagantes que simplemente funcionan, sin necesidad de configuración.

Para más información sobre la filosofía de diseño de fish, consulte el documento de diseño.

Inicio rápido

fish generalmente funciona como otros shells, como bash o zsh. Se pueden encontrar algunas diferencias importantes en https://fishshell.com/docs/current/tutorial.html buscando la frase mágica «unlike other shells».

La documentación detallada del usuario está disponible ejecutando help dentro defish, y también en https://fishshell.com/docs/current/index.html

Puedes jugar rápidamente con fish directamente en tu navegador haciendo clic en el botón de abajo:

Obtener fish

macOS

fish puede ser instalado:

  • usando Homebrew: brew install fish
  • usando MacPorts:sudo port install fish
  • usando el instalador de fishshell.com
  • como aplicación independiente de fishshell.com

Paquetes para Linux

Los paquetes para Debian, Fedora, openSUSE y Red Hat EnterpriseLinux/CentOS están disponibles en el openSUSE BuildService.

Los paquetes para Ubuntu están disponibles en el fishPPA, y pueden instalarse utilizando los siguientes comandos:

sudo apt-add-repository ppa:fish-shell/release-3sudo apt-get updatesudo apt-get install fish

Las instrucciones para otras distribuciones pueden encontrarse enfishshell.com.

Windows

  • En Windows 10, fish puede instalarse bajo el subsistema WSL Windows para Linux con las instrucciones para la distribución apropiada listada arriba en «Paquetes para Linux», o desde el código fuente con lasinstrucciones de abajo.
  • Fish también puede instalarse en todas las versiones de Windows usandoCygwin (desde la categoría Shells).

Construyendo desde el código fuente

Si los paquetes no están disponibles para su plataforma, hay disponibles tarballs firmados por GPG en fishshell.com yfish-shell enGitHub. ¡Consulte la sección Construcción para obtener instrucciones.

Ejecutando fish

Una vez instalado, ejecute fish desde su shell actual para probar fish!

Dependencias

La ejecución de fish requiere:

  • curses o ncurses (preinstalado en la mayoría de los sistemas *nix)
  • algunas utilidades comunes del sistema *nix (actualmente mktemp), además de las utilidades POSIX básicas (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee, tr,uname y sed al menos, pero es preferible el coreutils completo más find yawk)
  • La biblioteca gettext, si se compila con soporte de traducción

Las siguientes características opcionales también tienen requisitos específicos:

  • Los comandosbuiltin que tienen la opción --help o imprimen mensajes de uso requieren ul y nroff o mandoc para la visualización
  • la generación de finalización automatizada de las páginas del manual requiere Python 3.5+
  • la herramienta de configuración web fish_configrequiere Python 3.5+ y un navegador web
  • la integración en el portapapeles del sistema (con los enlaces Ctrl-V y Ctrl-X por defecto) requiere el xsel, xclip,wl-copy/wl-paste o pbcopy/pbpaste utilidades
  • las terminaciones completas para yarn y npm requieren el móduloall-the-package-names NPM

Cambiar a fish

Si desea utilizar fish como su shell por defecto, utilice el siguiente comando:

chsh -s /usr/local/bin/fish

chsh le pedirá su contraseña y cambiará su shell por defecto. (Sustituya /usr/local/bin/fish por la ruta en la que se instaló fish, si es diferente.) Cierre la sesión y vuelva a iniciarla para que los cambios surtan efecto.

Use el siguiente comando si fish no está ya añadido a /etc/shellspara permitir que fish sea su shell de inicio de sesión:

echo /usr/local/bin/fish | sudo tee -a /etc/shells

Para volver a cambiar su shell por defecto, puede ejecutar chsh -s /bin/bash(sustituyendo /bin/bash por /bin/tcsh o /bin/zsh según corresponda).

Construcción

Dependencias

La compilación de fish requiere:

  • un compilador C++11 (g++ 4.8 o posterior, o clang 3.3 o posterior)
  • CMake (versión 3.2 o posterior)
  • una implementación de curses como ncurses (cabeceras y librerías)
  • PCRE2 (cabeceras y librerías) – se incluye una copia con fish
  • gettext (cabeceras y librerías) – opcional, para soporte de traducción

Sphinx también se requiere opcionalmente para construir la documentación desde el repositorio git aclonado.

Además, la ejecución del conjunto de pruebas requiere Python 3.5+ y el paquete pexpect.

Construyendo desde el código fuente (todas las plataformas) – Generador de Makefile

Para instalar en /usr/local, ejecute:

mkdir build; cd buildcmake ..makesudo make install

El directorio de instalación puede cambiarse usando el parámetro-DCMAKE_INSTALL_PREFIX para cmake.

Construcción desde el código fuente (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Un proyecto de Xcode estará ahora disponible en el subdirectorio build.Puede abrirlo con Xcode, o ejecutar lo siguiente para construir e instalar en/usr/local:

xcodebuildxcodebuild -scheme install

El directorio de instalación se puede cambiar usando el parámetro-DCMAKE_INSTALL_PREFIX para cmake.

¡Ayuda, no se construye!

Si fish informa que no pudo encontrar curses, intente instalar un paquete cursesdevelopment y construya de nuevo.

En Debian o Ubuntu se quiere:

sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext

En RedHat, CentOS, o Amazon EC2:

sudo yum install ncurses-devel

Contribuir con cambios al código

Ver la Guía para desarrolladores.

Contacta con nosotros

Las preguntas, comentarios, desplantes y desvaríos se pueden enviar a la lista oficial de fishmailing en https://lists.sourceforge.net/lists/listinfo/fish-usersorúnete a nosotros en nuestro canal gitter.imchannel. O utilice el fishtag onStackoverflow para preguntas relacionadas con el script de fish y el fish tag onSuperuser para todas las demás preguntas (por ejemplo, personalizar los colores, cambiar los enlaces de las teclas).

¿Has encontrado un error? ¿Tienes una idea genial? Por favor, abra un issue.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.