fish-shell / fish-shell

fish is een slimme en gebruiksvriendelijke command line shell voor macOS, Linux, en de rest van de familie. fish bevat functies zoals syntaxhighlighting, autosuggest-as-you-type, en fancy tab completions die gewoon werken, zonder configuratie nodig.

Voor meer over de ontwerpfilosofie van fish, zie het ontwerpdocument.

Snelstart

fish werkt over het algemeen als andere shells, zoals bash of zsh. Een paar belangrijke verschillen zijn te vinden op https://fishshell.com/docs/current/tutorial.html door te zoeken op de magische zin “in tegenstelling tot andere shells”.

Uitgebreide gebruikersdocumentatie is beschikbaar door help binnenfish uit te voeren, en ook op https://fishshell.com/docs/current/index.html

U kunt snel met fish spelen, direct in uw browser door op de onderstaande knop te klikken:

Haal fish

macOS

fish kan worden geïnstalleerd:

  • met behulp van Homebrew: brew install fish
  • met behulp van MacPorts:sudo port install fish
  • met behulp van het installatieprogramma van fishshell.com
  • als een standalone programma van fishshell.com

Pakketten voor Linux

Pakketten voor Debian, Fedora, openSUSE, en Red Hat EnterpriseLinux/CentOS zijn beschikbaar bij de openSUSE BuildService.

Pakketten voor Ubuntu zijn beschikbaar via de fishPPA, en kunnen worden geïnstalleerd met de volgende commando’s:

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

Instructies voor andere distributies kunnen worden gevonden opfishshell.com.

Windows

  • Op Windows 10, kan fish worden geïnstalleerd onder het WSL Windows Subsystem voor Linux met de instructies voor de juiste distributie hierboven vermeld onder “Packages for Linux”, of vanaf broncode met de instructies hieronder.
  • Fish kan ook worden geïnstalleerd op alle versies van Windows met behulp van Cygwin (uit de Shells categorie).

Bouwen vanaf bron

Als er geen pakketten beschikbaar zijn voor uw platform, zijn er GPG-ondertekende tarballs beschikbaar van fishshell.com enfish-shell opGitHub. Zie deBuilding sectie voor instructies.

Running fish

Eenmaal geinstalleerd, draai fish vanuit uw huidige shell om fish uit te proberen!

Afhankelijkheden

Het draaien van fish vereist:

  • curses of ncurses (voorgeïnstalleerd op de meeste *nix systemen)
  • sommige algemene *nix systeem utilities (momenteel mktemp), naast de basis POSIX utilities (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee, tr,uname en sed op zijn minst, maar de volledige coreutils plus find enawk heeft de voorkeur)
  • De gettext bibliotheek, indien gecompileerd met vertaalondersteuning

De volgende optionele features hebben ook specifieke vereisten:

  • builtin commando’s die de --help optie hebben of usagemessages afdrukken hebben ul nodig en ofwel nroff of mandoc voordisplay
  • geautomatiseerde completering van handmatige pagina’s vereist Python 3.5+
  • de fish_config web-configuratie tool vereist Python 3.5+ en een web browser
  • system clipboard integration (met de standaard Ctrl-V en Ctrl-Xbindingen) vereisen ofwel de xsel, xclip,wl-copy/wl-paste of pbcopy/pbpaste utilities
  • volledige completies voor yarn en npm vereisen deall-the-package-names NPM module

Overschakelen naar fish

Als u fish als uw standaard shell wilt gebruiken, gebruik dan het volgende commando:

chsh -s /usr/local/bin/fish

chsh vraagt u om uw wachtwoord en wijzigt uw standaard shell. (Vervang /usr/local/bin/fish door het pad waarop fish is geïnstalleerd, indien dit verschilt.) Log uit en vervolgens weer in om de wijzigingen te effectueren.

Gebruik het volgende commando als fish nog niet is toegevoegd aan /etc/shellsom fish toe te staan uw login-shell te zijn:

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

Om uw standaard shell terug te zetten, kunt u chsh -s /bin/bash uitvoeren (vervang /bin/bash door /bin/tcsh of /bin/zsh, indien van toepassing).

Bouwen

Afhankelijkheden

Het compileren van fish vereist:

  • een C++11 compiler (g++ 4.8 of later, of clang 3.3 of later)
  • CMake (versie 3.2 of later)
  • een curses implementatie zoals ncurses (headers en bibliotheken)
  • PCRE2 (headers en bibliotheken) – een kopie wordt met fish meegeleverd
  • gettext (headers en bibliotheken) – optioneel, voor ondersteuning van vertalingen

Sphinx is ook optioneel nodig om de documentatie van een gecloned git repository te bouwen.

Het uitvoeren van de testsuite vereist bovendien Python 3.5+ en het pexpect pakket.

Bouwen vanaf broncode (alle platforms) – Makefile generator

Om in /usr/local te installeren, voert u uit:

mkdir build; cd buildcmake ..makesudo make install

De installatiedirectory kan worden gewijzigd met behulp van de parameter-DCMAKE_INSTALL_PREFIX voor cmake.

Bouwen vanaf bron (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Er is nu een Xcode-project beschikbaar in de build-subdirectory. U kunt het openen met Xcode, of het volgende uitvoeren om te bouwen en te installeren in/usr/local:

xcodebuildxcodebuild -scheme install

De installatiedirectory kan worden gewijzigd met behulp van de-DCMAKE_INSTALL_PREFIX-parameter voor cmake.

Help, het bouwde niet!

Als fish meldt dat het curses niet kon vinden, probeer dan een cursesdevelopment pakket te installeren en bouw opnieuw.

Op Debian of Ubuntu wilt u:

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

Op RedHat, CentOS, of Amazon EC2:

sudo yum install ncurses-devel

Wijzigingen in de code bijdragen

Zie de Gids voor Ontwikkelaars.

Neem contact met ons op

Vragen, opmerkingen, rants en raves kunnen worden gepost naar de officiële fishmailing lijst op https://lists.sourceforge.net/lists/listinfo/fish-usersor Join us on our gitter.imchannel. Of gebruik de fishtag opStackoverflow voor vragen gerelateerd aan het fish script en de fishtag opSuperuser voor alle andere vragen (b.v. kleuren aanpassen, key bindings veranderen).

Een bug gevonden? Heb je een geweldig idee? Open een probleem.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.