Ik ben een grote fan van de command line interface…. Ik haat het om mijn computermuis te gebruiken! Dit motiveerde me om op zoek te gaan naar geweldige hulpmiddelen om mijn gebruikerservaring op de CLI te verbeteren. Ik kwam Oh-My-Zsh tegen tijdens mijn stage. Enkele vrienden overtuigden me om deze shell te gebruiken vanwege zijn eenvoud en aanpasbaarheid. Als bonus, de CLI is uitbreidbaar met vele plugins.
Dit is een lijst van zijn mogelijkheden:
- Commando validatie
- Spelling correctie
- Deling van commando geschiedenis onder alle draaiende shells
- Deelbare prompts (Agnoster, RobbyRussell, …)
- Directory history
- Start/afsluit scripts via
zshenv
,zprofile
,zshrc
,zlogin
, enzlogout
- Sterke autocomplete mogelijkheden. U kunt de TAB-toets gebruiken om door de verschillende opties te navigeren en enter gebruiken om de juiste map te selecteren. Bash zou bijvoorbeeld alle opties afdrukken. Dit is nogal spammy en vervuilt je scrollback.
- Voeg plugins toe: bijv. Git plugin met een enorme lijst nuttige Git aliassen.
Deze plugin laat de actieve branch zien en geeft visuele feedback over je Git status:
– Groen: branch als er geen wijzigingen zijn opgetreden
– Geel met een cirkelpictogram: ongevolgde bestanden
– Geel met een pluspictogram: bestanden klaar om gecommit te worden
Ik voer deze installatiegids uit op mijn Ubuntu 16.04 Virtuele Machine. Om je de onderliggende kracht van Oh-My-Zsh te laten zien, installeer ik de Git-plugin (Git-core). Deze plugin geeft visuele feedback over de Git status van een project.
- Installeer de vereiste pakketten
$ sudo apt install git-core zsh - Installeer Oh-My-Zsh uit Robby Russell’s repository
$ sh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)” - Installeer het Powerline font om je CLI op te leuken met icoontjes
$ sudo apt install fonts-powerline - Verander thema van ‘robbyrussell’ naar ‘agnoster’ voor het legendarische Oh-My-Zsh thema
$ nano ~/.zshrc - Vind de
ZSH_THEME
variabele en verander deze:ZSH_THEME="agnoster"
- Ik vind het niet leuk dat het thema mijn gebruikersnaam en host laat zien. Om hier vanaf te komen, veranderen we de directory in
$ cd ~/.oh-my-zsh/themes - Daarna openen we het themabestand voor ‘agnoster’ in de editor
$ nano agnoster.zsh-theme - Nu kunnen we de ‘Main prompt’ veranderen. We hoeven prompt_context niet in de functie
build_prompt()
te zetten. Commentarieer deze regel gewoon uit of verwijder hem. Verander als laatste de variabelePROMPT
in$(build_prompt)
.
Om het thema daadwerkelijk te zien, moet je je .zshrc
bestand als volgt sourceen: source ~/.zshrc
. Als alles goed is gegaan, zou u iets als de omslagafbeelding moeten zien!
Extra: Stel zsh in als onze standaard shell. Voer dit uit in uw standaard shell, in de meeste gevallen zal dit bash zijn. Als u dit commando in zsh uitvoert, zal het niets veranderen:
$ chsh -s $(welke zsh)
Note: Als u sudo
gebruikt, zal het de shell voor root veranderen, maar niet voor uw werkende gebruiker. Zorg er daarnaast voor dat u uitlogt en opnieuw inlogt om de veranderingen te zien.
Installeer Plugins
Alle plugins die op de plugins Github pagina staan, zijn voorgeïnstalleerd met Oh-My-Zsh op ~/.oh-my-zsh/plugins
. Aangepaste plugins kunnen worden geïnstalleerd op ~/.oh-my-zsh/custom/plugins
. Om een plugin te gebruiken, kunt u deze simpelweg toevoegen aan de plugins lijst in uw ~/.zshrc
bestand. Voeg verstandig toe, want te veel plugins vertragen het opstarten van de shell. Laat een spatie tussen elke plugin.
Gekleurde-man-pagina’s
In dit voorbeeld heb ik een handige plugin geïnstalleerd om uw man pages
te voorzien van kleurmarkering. Om de plugin te kunnen gebruiken, source je .zshrc
bestand:
$ source ~/.zshrc
Zsh-syntax-highlighting
Een andere geweldige plugin is syntax highlighting voor je shell. Daarnaast heeft deze plugin de mogelijkheid om de juistheid van je commando te controleren.