Sådan tilpasses zsh-prompten i macOS-terminalen

Nøgle takeaways

  • macOS lader dig tilpasse zsh-prompten i Terminal, så den skiller sig ud og passer til dine præferencer.
  • Opret en .zshrc-profil for at gemme alle de ændringer og indstillinger, du ønsker, i zsh-prompten.
  • Rediger zsh-prompten ved at tilføje dine ønskede værdier for variabler som %n (brugernavn), %m (Mac’s modelnavn), %W (dato) og %T (tid).

Uanset om du vil have zsh-prompten til at bruge en anden farve, vise yderligere detaljer eller have et minimalt udseende for at få det bedste ud af pladsen, lader macOS dig gøre det. Lær, hvordan du tilpasser zsh-prompten i Terminal for at få den til at skille sig ud uanset din baggrund.

Grundlæggende om zsh-prompten

Når du åbner Terminal-appen på din Mac, viser den nogle nyttige oplysninger, såsom dit sidste login og kommandoprompten. Sådan ser prompten typisk ud som standard:

 Last login: Wed Feb 3 22:00:40 on console
alvin@MacBook-Air ~ %

zsh-prompten viser en tekststreng bestående af dit brugernavn og computermodel, som MacBook Air, MacBook Pro, Mac mini og så videre. Tilden (~) angiver promptens placering i hjemmemappen.

Hvis du navigerer til en anden mappe i dit filsystem via Terminal, vil den aktuelle mappes navn blive vist i stedet for tilden.

Opret en Z Shell-profil for at gemme alle indstillinger

Typisk skal du pille ved systemfiler for at ændre standardudseendet. Det skyldes, at macOS-opdateringer nulstiller alle systemfiler til standard, og du vil miste alle de ændringer, du foretager. Så du kan oprette en specifik indstillingsfil (kendt som en dotfile) til din zsh-profil for at gemme alle de ændringer og indstillinger, du ønsker, i zsh-prompten.

Du finder ikke denne dotfil som standard på macOS, så du bliver nødt til at lave en. Det anbefales at oprette en ny .zshrc-profil for at gemme alle indstillinger, såsom hvordan zsh-prompten ser ud og opfører sig. Sådan opretter du zsh-profilen (dotfile):

  • Åbn Terminal-appen.
  • Skriv følgende kommando og tryk på Retur-tasten:
     touch ~/.zshrc 
  • Berøringskommandoen vil kun oprette .zshrc-profilfilen, hvis den ikke allerede eksisterer. Hvis den allerede eksisterer, vil kommandoen ikke gøre noget.

    Det vil oprette en .zshrc-profil i din brugerkontos hjemmemappe. Du kan se det under stien /Bruger// i Finder, hvis du har aktiveret visning af skjulte systemfiler på din Mac.

    Derefter vil zsh-profilen være tilgængelig for ikke-login interaktive skaller, hver gang du starter Terminal. Det vil dog kun blive brugt til login-skaller, hvis andre login-specifikke filer som .zprofile og .zlogin ikke er til stede.

    Tilpasning af zsh-prompten i Terminal

    Typisk indeholder standard zsh-prompten information som brugernavn, maskinnavn og placering, der starter i brugerens hjemmemappe. Disse detaljer er gemt i zsh-skallens systemfil på /etc/zshrc-placeringen:

     PS1="%n@%m %1~ %#" 

    I denne række af variabler:

    • %n er din kontos brugernavn.
    • %m er din Macs modelnavn.
    • %1~ betyder den aktuelle arbejdsmappesti, hvor ~ fjerner $HOME-mappeplaceringen.
    • % # betyder, at prompten vil vise #, hvis skallen kører med root-rettigheder (administrator) og %, hvis den ikke gør det.

    For at foretage en ændring af standard zsh-prompten skal du tilføje relevante værdier for at prompten vises anderledes end standardprompten.

    Sådan gør du det. Åbn Terminal, skriv følgende kommando, og tryk på Retur:

     nano ~/.zshrc 

    Hvis .zshrc-profilfilen eksisterede før, er der en chance for, at den ikke er tom. Men hvis den ikke eksisterede, da du kørte berøringskommandoen ovenfor, vil den være tom. Du kan tilføje en ny linje med teksten PROMPT=’…’ eller PS1=’…’ og inkludere relevante værdier i ellipserne.

    For en simpel ændring af zsh-prompten kan du skrive disse værdier i .zshrc-profilen:

     PROMPT='%n:~$' 

    Tryk på Ctrl + O for at bekræfte at foretage disse ændringer i filen, og tryk derefter på Ctrl + X for at afslutte nano-editoren.

    Åbn et nyt terminalvindue ved at trykke på Cmd + T for at bekræfte og se de ændringer, du lige har foretaget. Din nye zsh-prompt vil vise din Macs brugernavn, hjemmemappe og $-symbolet i slutningen. Du kan tilføje mellemrum i PROMPT-variablen ovenfor mellem %n, ~ og $, hvis du foretrækker variablerne fordelt i terminalen.

    Hvis du ønsker at have et brugerdefineret brugernavn, skal du erstatte %n med dit foretrukne valg. Her er et eksempel:

     PROMPT='customusername~$' 

    Nu, hvis du åbner et nyt terminalvindue, vil du se følgende:

    Hvis du ønsker at ændre en hvilken som helst anden parameter manuelt, kan du gøre det ved at erstatte standardvariablerne ved at bruge formatet i PS1-variablen ovenfor. Du kan inkludere eller fjerne oplysninger fra zsh-prompten, så det passer til dine præferencer.

    Hvis dette lyder for komplekst, så brug et websted som f.eks Zsh promptgenerator for at hjælpe dig med at tilpasse din Z-skal.

    Tilføj dato og klokkeslæt til zsh-prompten

    Bortset fra dit brugernavn, kan du tilføje den aktuelle dato eller klokkeslæt, så du ikke behøver at kigge væk fra det aktive terminalvindue for at kontrollere disse oplysninger.

    Start terminalen og åbn .zshrc-profilen:

     nano ~/.zshrc 

    For at inkludere datoen i prompten kan du bruge %D for at datoen skal vises i formatet åå-mm-dd eller %W for at den skal vises i formatet mm/dd/åå. Derefter vil den nye prompt se sådan ud:

     PROMPT='%n:%W:~$' 

    Vi brugte et kolon (:) i PROMPT-variablen ovenfor for at tilføje visuel adskillelse, men du kan bruge mellemrum eller noget andet. For eksempel bruger vi større end-tegnet (>) til at adskille klokkeslættet og det aktuelle bibliotek.

    Hvis du vil inkludere systemtiden i zsh-prompten, skal du tilføje %T for det aktuelle klokkeslæt i 24-timers format, %t for at tiden skal vises i 12-timers format, eller bruge %* til at vise klokkeslættet i 24-timers -timeformat sammen med sekunder.

     PROMPT='%n@%T>~$' 

    Vis dato og klokkeslæt til højre for din zsh-prompt

    For at få vist information til højre for zsh-prompten skal du tilføje RPROMPT-variablen til zshrc-filen. Indtast f.eks. følgende for at tilføje dato og klokkeslæt:

    RPROMPT='%D @ %T'

    Din prompt vil nu se sådan ud:

    Tilføj farve til tekst i zsh-prompten

    Bortset fra at ændre Terminal-appen med farver, kan du tilføje noget farve til teksten på din zsh-profil på Mac for at få en god visuel pause. Start Terminal, og åbn .zshrc-profilen:

     nano ~/.zshrc 

    Z-skallen understøtter farve og gråtoner til promptteksten for at komplementere baggrunden. Du kan vælge en forgrundsfarve (tekst) fra disse valg: sort, hvid, gul, grøn, rød, blå, cyan og magenta. Sådan bruger du dem:

     PROMPT='%F{cyan}%n%f:~$' 

    Hvis du vil vælge en bestemt zsh-farvenuance, kan du vælge mellem 256 8-bit farver, som terminalen understøtter. Sådan bruger du de numeriske værdier af farverne:

     PROMPT='%F{51}%n%f:~$' 

    Du skal placere %F og %f standardforgrundsfarvevariablerne mellem den relevante tekst, du ønsker at farvelægge.

    Tilføjelse af visuelle effekter i zsh-prompten

    Hvis farvelægning af promptens tekst ikke er nok, kan du fremhæve din zsh-prompt for at få den til at skille sig ud midt på tekstvæggen. Til at begynde med kan du fed zsh-prompten:

     PROMPT='%B%F{51}%n%f%b:~$' 

    Hvis du tilføjer %B i starten og sætter %b i slutningen mellem den relevante tekst, bliver den fed.

    På samme måde kan du sætte %S i starten og %s i slutningen for at fremhæve teksten. Fremhævningen vil bære den samme farve, som du har valgt til at blive vist mellem %S og %s variablerne.

     PROMPT='%S%F{51}%n%f%s:~$' 

    Du kan også understrege teksten i zsh-prompten. For at tilføje en understregning til en prompt kan du inkludere %U-variablen i starten og %u i slutningen af ​​den relevante tekst.

     PROMPT='%U%F{51}%n%f%u:~$' 

    Fjern de sidste loginoplysninger fra zsh-prompten

    At skjule eller deaktivere den øverste linje, der afslører det sidste login-tidspunkt i Terminal-appen, kan give din zsh-prompt et renere udseende. Du kan bruge følgende kommando til at skjule disse oplysninger:

     touch ~/.hushlogin 

    Næste gang du åbner Terminal, vil du ikke se noget over zsh-prompten.

    Nulstil din zsh-tilpasning

    Hvis du har brug for en ny start, kan du gøre det ved at indstille PROMPT- eller PS1-variablen til standardværdien:

     PROMPT="%n@%m %1~ %#" 

    Hvis du tilføjede oplysninger til højre for zsh-prompten ved hjælp af RPROMPT, skal du slette dem fra .zshrc.

    Alternativt kan du sikkert slette PROMPT/PS1- og RPROMPT-variablerne i .zshrc-filen. Bare rolig, for indstillingerne i .zshrc-filen gælder kun for den aktuelle brugerprofil. Hvis du sletter de to, vil standardindstillingerne gemt i Z shells systemfil på /etc/zshrc blive brugt.

    Nu hvor du har alle detaljer om, hvordan du tilpasser zsh-prompten, kan du eksperimentere lidt og gøre den til din egen. Du kan fed, understrege, forkorte og endda inkludere flere oplysninger i den. Og hvis du ikke er tilfreds med ændringerne, kan du altid hurtigt vende tilbage til standardudseendet.