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
- Haal fish
- macOS
- Pakketten voor Linux
- Windows
- Bouwen vanaf bron
- Running fish
- Afhankelijkheden
- Overschakelen naar fish
- Bouwen
- Afhankelijkheden
- Bouwen vanaf broncode (alle platforms) – Makefile generator
- Bouwen vanaf bron (macOS) – Xcode
- Help, het bouwde niet!
- Wijzigingen in de code bijdragen
- Neem contact met ons op
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
ensed
op zijn minst, maar de volledige coreutils plusfind
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 hebbenul
nodig en ofwelnroff
ofmandoc
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
ofpbcopy
/pbpaste
utilities - volledige completies voor
yarn
ennpm
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/shells
om 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.