fish-shell / fish-shell

fish est un shell de ligne de commande intelligent et convivial pour macOS, Linux, et le reste de la famille. fish inclut des fonctionnalités telles que la coloration syntaxique, l’autosuggestion à mesure que vous tapez, et des compléments de tabulation fantaisistes qui fonctionnent juste, sans aucune configuration requise.

Pour en savoir plus sur la philosophie de conception de fish, consultez le designdocument.

Démarrage rapide

fish fonctionne généralement comme les autres shells, comme bash ou zsh. Quelques différences importantes peuvent être trouvées àhttps://fishshell.com/docs/current/tutorial.html en recherchant la phrase magique « contrairement aux autres shells ».

Une documentation utilisateur détaillée est disponible en exécutant help dansfish, et aussi à https://fishshell.com/docs/current/index.html

Vous pouvez rapidement jouer avec fish directement dans votre navigateur en cliquant sur lebouton ci-dessous:

Obtenir fish

macOS

fish peut être installé:

  • en utilisant Homebrew : brew install fish
  • en utilisant MacPorts:sudo port install fish
  • en utilisant l’installateur de fishshell.com
  • comme une application autonome de fishshell.com

Paquets pour Linux

Des paquets pour Debian, Fedora, openSUSE, et Red Hat EnterpriseLinux/CentOS sont disponibles à partir du service de construction openSUSE.

Les paquets pour Ubuntu sont disponibles à partir du fishPPA,et peuvent être installés en utilisant les commandes suivantes :

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

Les instructions pour les autres distributions peuvent être trouvées àfishshell.com.

Windows

  • Sur Windows 10, fish peut être installé sous le sous-système WSL Windows pour Linux avec les instructions pour la distribution appropriée listée ci-dessus sous « Paquets pour Linux », ou à partir des sources avec les instructions ci-dessous.
  • Fish peut également être installé sur toutes les versions de Windows en utilisantCygwin (de la catégorie Shells).

Construction à partir des sources

Si les paquets ne sont pas disponibles pour votre plateforme, des tarballs signés GPG sont disponibles sur fishshell.com etfish-shell surGitHub. Voir la sectionConstruction pour les instructions.

Exécution de fish

Une fois installé, exécutez fish depuis votre shell actuel pour essayer fish !

Dépendances

L’exécution de fish nécessite :

  • curses ou ncurses (préinstallé sur la plupart des systèmes *nix)
  • quelques utilitaires système *nix courants (actuellement mktemp), en plus des utilitaires POSIX de base (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee, tr,uname et sed au moins, mais le coreutils complet plus find etawk est préféré)
  • La bibliothèque gettext, si compilée avec le support de la traduction

Les fonctionnalités optionnelles suivantes ont également des exigences spécifiques :

  • les commandes de construction qui ont l’option --help ou qui impriment des messages d’utilisation nécessitent ul et soit nroff soit mandoc pour l’affichage
  • la génération automatique de compléments à partir de pages de manuel nécessite Python 3.5+
  • l’outil de configuration web fish_config nécessite Python 3.5+ et un navigateur web
  • l’intégration du presse-papier du système (avec les liaisons Ctrl-V et Ctrl-X par défaut) nécessite soit les xsel, xclip,wl-copy/wl-paste ou pbcopy/pbpaste utilitaires
  • les compléments complets pour yarn et npm nécessitent le moduleall-the-package-names NPM

Passage à fish

Si vous souhaitez utiliser fish comme shell par défaut, utilisez la commande suivante :

chsh -s /usr/local/bin/fish

chsh vous demandera votre mot de passe et changera votre shell par défaut. (Remplacez /usr/local/bin/fish par le chemin dans lequel fish a été installé, s’il est différent.) Déconnectez-vous, puis reconnectez-vous pour que les changements prennent effet.

Utilisez la commande suivante si fish n’est pas déjà ajouté à /etc/shellspour permettre à fish d’être votre shell de connexion :

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

Pour rétablir votre shell par défaut, vous pouvez exécuter chsh -s /bin/bash(en remplaçant /bin/bash par /bin/tcsh ou /bin/zsh selon le cas).

Construction

Dépendances

La compilation de fish nécessite :

  • un compilateur C++11 (g++ 4.8 ou supérieur, ou clang 3.3 ou supérieur)
  • CMake (version 3.2 ou ultérieure)
  • une implémentation de curses telle que ncurses (en-têtes et bibliothèques)
  • PCRE2 (en-têtes et bibliothèques) – une copie est incluse avec fish
  • gettext (en-têtes et bibliothèques) – facultatif, pour le support de la traduction

Sphinx est également requis de manière facultative pour construire la documentation à partir d’un dépôt git aligné.

En outre, l’exécution de la suite de tests nécessite Python 3.5+ et le paquet pexpect.

Construction à partir des sources (toutes plates-formes) – Générateur de Makefile

Pour installer dans /usr/local, exécutez :

mkdir build; cd buildcmake ..makesudo make install

Le répertoire d’installation peut être modifié en utilisant le paramètre-DCMAKE_INSTALL_PREFIX pour cmake.

Construction à partir des sources (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Un projet Xcode sera maintenant disponible dans le sous-répertoire build.Vous pouvez l’ouvrir avec Xcode, ou exécuter ce qui suit pour construire et installer dans/usr/local:

xcodebuildxcodebuild -scheme install

Le répertoire d’installation peut être modifié en utilisant le paramètre-DCMAKE_INSTALL_PREFIX pour cmake.

A l’aide, ça ne s’est pas construit!

Si fish signale qu’il n’a pas pu trouver curses, essayez d’installer un paquet cursesdevelopment et construisez à nouveau.

Sur Debian ou Ubuntu, vous voulez :

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

Sur RedHat, CentOS ou Amazon EC2 :

sudo yum install ncurses-devel

Contribuer des modifications au code

Voir le guide pour les développeurs.

Nous contacter

Les questions, les commentaires, les divagations et les délires peuvent être postés sur la liste officielle fishmailing à l’adresse https://lists.sourceforge.net/lists/listinfo/fish-usersor rejoignez-nous sur notre gitter.imchannel. Ou utilisez le tag fishtag onStackoverflow pour les questions liées au script fish et le tag fish onSuperuser pour toutes les autres questions (par exemple, personnalisation des couleurs, modification des liaisons de touches).

Trouvé un bug ? Vous avez une idée géniale ? Veuillez ouvrir un dossier.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.