11 augustus 2020

Terminal: Handige functies activeren in de nieuwe ZSH shell

3 min leestijd
Terminal: Handige functies activeren in de nieuwe ZSH shell
Gevorderden
3 min leestijd

Sinds macOS Catalina 10.15 maakt Terminal gebruik van ZSH, ook wel de Z-shell genoemd. Dit is een uitgebreide versie van de Bash shell die jarenlang door Apple voor Terminal onder macOS werd gebruikt.

ZSH heeft extra functies, zo kun je bijvoorbeeld gebruikmaken van plugins. Wanneer je ZSH gaat gebruiken zul je echter wel merken dat een aantal functies die onder de Bash shell standaard geactiveerd waren dat nu niet meer zijn. Gelukkig kun je deze weer eenvoudig activeren.

.zshrc bestand bewerken

Het activeren van de missende functies kan door deze toe te voegen aan het .zshrc configuratie bestand en Terminal te herstarten. Het configuratie bestand kan je met behulp van de standaard aanwezige nano editor bewerken. Als het bestand nog niet bestaat dan wordt deze automatisch aangemaakt door de editor.

Je opent het .zshrc bestand in de nano editor met:

nano .zshrc

ZSH config bewerken

Nadat wijzigingen zijn aangebracht sla je de wijzigingen op met behulp van de toetsencombinatie ctrl+x, gevolgd door y en enter.

Let op na het aanpassen van .zshrc bestand moet je Terminal afsluiten en opnieuw starten om de wijzigingen te activeren. Eventueel kun je met onderstaande commando de nieuwe .zshrc activeren:

exec zsh

ook interessant
Touch ID gebruiken bij een sudo commando in Terminal en iTerm 2
Touch ID gebruiken bij een sudo commando in Terminal en iTerm 2

Touch ID kun je ook gebruiken onder macOS Terminal en iTerm2 om jezelf te autoriseren wanneer je gebruik wilt maken van het sudo commando.

ZSH Volledige history weergeven

Met behulp van het commando history kun je eerdere uitgevoerde commando's bekijken. Voor de commando's wordt een regelnummer weergegeven. Als je een commando opnieuw wilt uitvoeren dan kun je een uitroepteken typen, direct gevolgd door het regelnummer van het commando (bijvoorbeeld !11). Het commando behorend bij regelnummer 11 zal nu direct worden uitgevoerd.

Dit is een ontzettend handig functie als je lange/complexe commando in het verleden heb gebruikt. Dit geschiedenis onder ZSH is echter standaard beperkt tot maximaal 16 commando's. Wil je een grotere history hebben dan kun je dit aangeven in het .zshrc configuratie bestand.

Je kunt hiervoor de onderstaande regel toevoegen:

alias history="history 1"

Deze regel zorgt ervoor dat je history wordt weergeven vanaf regelnummer 1. Wil je alleen de laatste 25 uitgevoerde commando's bekijken dan gebruik je:

alias history="history 25"

ZSH history bekijken

ZSH automatisch aanvullen activeren

Door gebruik te maken van de tab-toets is het mogelijk om de benaming van een bestand of map automatisch aan te vullen. Wil je bijvoorbeeld naar de map 'Downloads' dan volstaat het om 'cd Do' te typen gevolgd door de tab-toets. De naam van de map wordt automatisch aangevuld, tenzij er nog een map of bestand aanwezig is die begint met 'Do'.

Onder ZSH is de auto complete standaard niet geactiveerd, wil je hiervan toch gebruiken maken dan voeg je aan .zshrc de volgende twee regels toe:

autoload -Uz compinit
compinit

Na een herstart van de Terminal app is het automatisch aanvullen weer beschikbaar. Met een bijkomend voordeel. Als er meerdere mogelijkheden zijn kun je met behulp van de tab-toets een van de mogelijkheden selecteren. Deze mogelijkheden worden onder de actieve regel weergeven.

ZSH autocomplete

ZSH gekleurde bestandsweergave

Onder Bash was het mogelijk om op basis van kleur onderscheid te maken tussen verschillende bestanden en mappen. Hierdoor kunnen bijvoorbeeld mappen worden weergegeven in blauw en een alias in paars.

Ook onder ZSH is het mogelijk om het kleurenschema te activeren hiervoor voeg je de onderstaande regel toe aan .zshrc:

export CLICOLOR=1;

Na de herstart van Terminal wordt het kleurenschema toegepast. Het toepassen van het kleurenschema zorgt ervoor de inhoud van een map overzichtelijker wordt weergeven.

ook interessant
Wachtwoord wordt niet getoond bij invoeren in Terminal voor Mac
Wachtwoord wordt niet getoond bij invoeren in Terminal voor Mac

Bij het invoeren van je wachtwoord in Terminal wordt er niet weergegeven, je kunt sterretjes inschakelen en zou het wachtwoord tonen.

info
Auteur Richard IJzermans
Datum11/08/2020 21:24
Categorie macOS
Feedback Probleem melden
Delen š•
  1 reactie


Reacties

  • Nils Breunese
    12 augustus 2020 om 18:11

    Naast compinit voor auto-completion gebruik ik het volgende commando om de auto-completion hoofdletterongevoelig te laten werken:

    zstyle ‘:completion:*’ matcher-list ‘m:{a-z}={A-Za-z}’

    Dan krijg je dus bijvoorbeeld ook auto-completion voor Downloads als je ‘cd dow’ intikt en hoef je niet per se ‘cd Dow’ te typen.

Een reactie toevoegen:

Ik ga akkoord dat deze gegevens worden opgeslagen [privacy]



Download gratis de appletips app
voor iPhone en iPad in de App Store