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
- Obtener fish
- macOS
- Paquetes para Linux
- Windows
- Construyendo desde el código fuente
- Ejecutando fish
- Dependencias
- Cambiar a fish
- Construcción
- Dependencias
- Construyendo desde el código fuente (todas las plataformas) – Generador de Makefile
- Construcción desde el código fuente (macOS) – Xcode
- ¡Ayuda, no se construye!
- Contribuir con cambios al código
- Contacta con nosotros
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
ysed
al menos, pero es preferible el coreutils completo másfind
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 requierenul
ynroff
omandoc
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_config
requiere 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
opbcopy
/pbpaste
utilidades - las terminaciones completas para
yarn
ynpm
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/shells
para 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.