Skip to content

Latest commit

 

History

History
210 lines (129 loc) · 9.11 KB

README.md

File metadata and controls

210 lines (129 loc) · 9.11 KB

Het Fish-shell framework

MIT License Fish Shell Version Travis Build Status Slack Status

Oh My Fish biedt kerninfrastructuur zodat u pakketten kunt installeren om uw shell uit te breiden of aan te passen. Het is snel, uitbreidbaar en eenvoudig te gebruiken.

Ook beschikbaar in het  🇺🇸 🇪🇸 🇧🇷 🇷🇺 🇺🇦 🇨🇳


Inhoudsopgave

Installatie

U kunt direct aan de slag door deze opdracht uit te voeren in een terminalvenster:

curl -L https://get.oh-my.fish | fish

Hiermee downloadt u het installatiescript en voert u de standaardinstallatie uit. Indien gewenst kunt u het installatiescript downloaden en aanvullende opties opgeven:

curl -L https://get.oh-my.fish > install
fish install --path=~/.local/share/omf --config=~/.config/omf

U kunt de integriteit van het installatiescript verifiëren met deze controlesom:

bb1f4025934600ea6feef2ec11660e17e2b6449c5a23c033860aed712ad328c9 install

Ook kunt u Oh My Fish installeren middels Git of een offline-brontarball van de uitgavenpagina:

# middels git
$ git clone https://github.com/oh-my-fish/oh-my-fish
$ cd oh-my-fish
$ bin/install --offline
# middels een tarball
$ curl -L https://get.oh-my.fish > install
$ fish install --offline=omf.tar.gz

Voer install --help uit om een volledige lijst met installatieopties te bekijken.

Vereisten

  • fish-shell, versie 2.2 of hoger
  • git, versie 1.9.5 of hoger

Gemelde problemen

  • Door een bug in Fish 2.6 in sommige terminalemulators zijn opdrachtregels aan de rechterkant momenteel onbruikbaar. OMF's standaardthema maakt hier gebruik van, dus raden wij aan een alternatief thema te gebruiken tot het probleem is opgelost. (zie #541)

Aan de slag

Oh My Fish bevat het hulpprogramma omf om pakketten en thema's op te halen en te installeren.

omf update [omf] [<package>...]

Werk Oh My Fish, alle pakketbronnen en geïnstalleerde pakketten bij.

  • Zonder opdrachtregelopties worden de kern en alle geïnstalleerde pakketten bijgewerkt.
  • Voer omf update omf uit om alleen de kern bij te werken.
  • Geef pakketnamen op om alleen specifieke pakketten bij te werken. U kunt hieraan desgewenst "omf" toevoegen om ook de kern bij te werken.

omf install [<name>|<url>]

Installeer één of meerdere pakketten.

  • U kunt pakketten installeren door een url op te geven met omf install url
  • Zonder opdrachtregelopties worden alleen ontbrekende pakketten geïnstalleerd uit de bundel.

omf repositories [list|add|remove]

Beheer eigen toegevoegde pakketbronnen. Pakketbronnen bevatten de pakketten die kunnen worden geïnstalleerd met omf install. Standaard is alleen de officiële pakketbron beschikbaar.

omf list

Toon alle geïnstalleerde pakketten.

omf theme <theme>

Pas een thema toe. Bekijk alle beschikbare thema's met omf theme. U kunt ze ook voorvertonen.

omf remove <name>

Verwijder een thema of pakket.

Pakketten kunnen deïnstallatieopties bevatten zodat er aangepaste opschoning kan plaatsvinden. Lees voor meer informatie Deïnstalleren.

omf reload

Herlaad Oh My Fish en alle plug-ins door exec uit te voeren om alle huidige shellprocessen te vervangen door een nieuw proces.

Deze opdracht probeert zo veilig mogelijk te werk te gaan en bijwerkingen van exec te voorkomen.

omf new plugin | theme <name>

Maak een nieuwe plug-in of nieuw thema.

Hiermee maakt u een nieuwe map $OMF_CONFIG/{pkg | themes}/ aan met een sjabloon.

omf search -t|--theme / -p|--package <name>

Zoek een specifiek pakket, thema of beide in Oh My Fish's databank. Als u de naam niet kent, is eenvoudig zoeken mogelijk met omf search simple.

omf channel

Toon of wijzig het updatekanaal.

Standaard zijn er twee kanalen beschikbaar: stable, welke stabiele updates aanbiedt op basis van de nieuwste tag en dev, welke updates aanbiedt met de allernieuwste code die vaak nog in ontwikkeling is. Het ingestelde updatekanaal bepaalt welke versie omf update installeert.

omf doctor

Voer dit uit om foutopsporingsinformatie vast te leggen voor een 'issue'.

omf destroy

Deïnstalleer Oh My Fish.

Geavanceerd

Het Oh My Fish-installatiescript voegt een knipsel toe aan de Fish-configuratiebestanden (~/.config/fish/conf.d/) dat OMF's opstartcode aanroept.

Let op: de scripts in bovenstaande map worden uitgevoerd op basis van de volgorde die het bestandssysteem aanhoudt, dus kan het nuttig zijn scriptbestanden aan te duiden met een getal.

Voorbeeld: a_script.fish geniet de voorkeur boven het omf.fish-knipsel. Dus als a_script.fish afhankelijk is van door OMF beheerde plug-ins, is het raadzaam om de naam van het scriptbestand te wijzigen in xx_a_script.fish.

Als een script moet worden uitgevoerd voordat omf.fish wordt aangeroepen, kunt u het aanduiden met 00_. Ook kunt u ~/.config/omf/before.init.fish hiervoor gebruiken.

Opstarten

Telkens als u een nieuwe shell opent, initialiseert de opstartcode het Oh My Fish-installatie- en config-pad (standaard: ~/.config/omf), waardoor het init.fish-script naderhand wordt aangeroepen. Dit script bevat een lijst met geïnstalleerde pakketten, thema's en aangepaste init-bestanden.

Lees voor meer informatie de veelgestelde vragen.

Puntbestanden

De $OMF_CONFIG-map duidt de gebruikersstatus van Oh My Fish aan. Dit is dé perfecte map om toe te voegen aan uw puntbestanden en/of versiebeheersysteem. De map bevat drie belangrijke bestanden:

  • theme - het huidige thema
  • bundle - de lijst met geïnstalleerde pakketten en thema's
  • channel - het OMF-updatekanaal (stable of dev)

Verder kunt u deze speciale bestanden aanmaken of aanpassen:

  • init.fish - aangepast script dat wordt uitgevoerd na het starten van de shell
  • before.init.fish - aangepast script dat wordt uitgevoerd vóór het starten van de shell
  • key_bindings.fish - aangepaste sneltoetsen die kunnen worden toegewezen met de opdracht bind

Variabelen instellen in init.fish

Eén van de meestgebruikte opstartopdrachten in init.fish is de variabelendefinitie. Zulke variabelen dienen beschikbaar te zijn in elke shellsessie. Dit kan bijvoorbeeld middels het volgende:

# Voor Golang-ontwikkelaars
set -xg GOPATH $HOME/gocode

# Voor Python-ontwikkelaars
set -xg PYTHONDONTWRITEBYTECODE 1

Over de bundel

Telkens als een pakket of thema geïnstalleerd of verwijderd wordt, wordt het bundle-bestand bijgewerkt. U kunt dit bestand tevens handmatig aanpassen en nadien omf install uitvoeren om de wijzigingen toe te passen. Let op: als pakketten of thema's automatisch geïnstalleerd zijn, leidt verwijderen uit de bundel niet tot deïnstallatie.

Oudere Fish-versies

Fish 2.2 bevat geen conf.d-map, dus dient de opstartcode toegevoegd te worden aan het Fish-configuratiebestand (~/.config/fish/config.fish).

Het is raadzaam om uw aangepaste opstartopdracht toe te voegen aan init.fish in plaats van ~/.config/fish/config.fish, zodat de gehele $OMF_CONFIG-map beschikbaar blijft voor versiebeheer.

Als opstartopdrachten uitgevoerd dienen te worden vóór Oh My Fish start, voeg ze dan toe aan before.init.fish. Voeg bij twijfel alles toe aan init.fish.

Pakketten maken

Oh My Fish gebruikt een geavanceerde, goedgedocumenteerde plug-inarchitectuur om het maken van plug-ins te vereenvoudigen, inclusief init- en uninstall-opties, functies en automatische aanvulling. Lees voor meer informatie de pakketdocumentatie.