Så här anpassar du zsh-prompten i macOS-terminalen

Viktiga takeaways

  • macOS låter dig anpassa zsh-prompten i Terminal så att den sticker ut och passar dina preferenser.
  • Skapa en .zshrc-profil för att lagra alla ändringar och inställningar du vill ha i zsh-prompten.
  • Ändra zsh-prompten genom att lägga till önskade värden för variabler som %n (användarnamn), %m (Mac:s modellnamn), %W (datum) och %T (tid).

Oavsett om du vill att zsh-prompten ska använda en annan färg, visa ytterligare detaljer eller anta ett minimalt utseende för att göra det bästa av utrymmet, låter macOS dig göra det. Lär dig hur du anpassar zsh-prompten i Terminal så att den sticker ut oavsett din bakgrund.

Grunderna i zsh-prompten

När du öppnar Terminal-appen på din Mac visar den en del användbar information, som din senaste inloggning och kommandotolken. Så här ser prompten vanligtvis ut som standard:

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

Zsh-prompten visar en textsträng som består av ditt användarnamn och datormodell, som MacBook Air, MacBook Pro, Mac mini och så vidare. Tilden (~) indikerar promptens plats i hemkatalogen.

Om du navigerar till en annan katalog i ditt filsystem via Terminal, kommer den aktuella katalogens namn att visas istället för tilden.

Skapa en Z Shell-profil för att lagra alla inställningar

Vanligtvis måste du mixtra med systemfiler för att ändra standardutseendet. Det beror på att macOS-uppdateringar återställer alla systemfiler till standard, och du kommer att förlora alla ändringar du gör. Så du kan skapa en specifik inställningsfil (känd som en dotfil) för din zsh-profil för att lagra alla ändringar och inställningar du vill ha i zsh-prompten.

Du hittar inte denna dotfil som standard på macOS, så du måste skapa en. Att skapa en ny .zshrc-profil rekommenderas för att lagra alla inställningar, som hur zsh-prompten ser ut och beter sig. Så här skapar du zsh-profilen (dotfile):

  • Öppna Terminal-appen.
  • Skriv följande kommando och tryck på returtangenten:
     touch ~/.zshrc 
  • Tryckkommandot skapar bara profilfilen .zshrc om den inte redan finns. Om det redan finns kommer kommandot inte att göra någonting.

    Det skapar en .zshrc-profil i ditt användarkontos hemkatalog. Du kan se det under sökvägen /Användare// i Finder om du har aktiverat visning av dolda systemfiler på din Mac.

    Efter det kommer zsh-profilen att vara tillgänglig för interaktiva skal utan inloggning varje gång du startar Terminal. Den kommer dock bara att användas för inloggningsskal om andra inloggningsspecifika filer som .zprofile och .zlogin inte finns.

    Anpassa zsh-prompten i terminalen

    Vanligtvis innehåller standard zsh-prompten information som användarnamn, maskinnamn och plats från användarens hemkatalog. Dessa detaljer lagras i zsh-skalets systemfil på /etc/zshrc-platsen:

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

    I denna sträng av variabler:

    • %n är ditt kontoanvändarnamn.
    • %m är din Macs modellnamn.
    • %1~ betyder den aktuella arbetskatalogens sökväg, där ~ tar bort $HOME-katalogplatsen.
    • % # betyder att prompten kommer att visa # om skalet körs med root (administratörs)-behörighet och % om det inte gör det.

    För att göra någon ändring av standard zsh-prompten måste du lägga till relevanta värden för att prompten ska se annorlunda ut än standardprompten.

    Så här går du tillväga. Öppna Terminal, skriv följande kommando och tryck på Retur:

     nano ~/.zshrc 

    Om .zshrc-profilfilen funnits tidigare, finns det en chans att den inte är tom. Men om det inte fanns när du körde pekkommandot ovan, kommer det att vara tomt. Du kan lägga till en ny rad med texten PROMPT=’…’ eller PS1=’…’ och inkludera relevanta värden i ellipserna.

    För en enkel modifiering av zsh-prompten kan du skriva in dessa värden i .zshrc-profilen:

     PROMPT='%n:~$' 

    Tryck på Ctrl + O för att bekräfta att du gör dessa ändringar i filen och tryck sedan på Ctrl + X för att avsluta nanoredigeraren.

    Öppna ett nytt terminalfönster genom att trycka på Cmd + T för att bekräfta och visa ändringarna du just har gjort. Din nya zsh-prompt kommer att visa din Macs användarnamn, hemkatalog och $-symbolen i slutet. Du kan lägga till mellanrum i PROMPT-variabeln ovan mellan %n, ~ och $ om du föredrar variablerna fördelade i terminalen.

    Om du vill ha ett anpassat användarnamn, ersätt %n med ditt föredragna val. Här är ett exempel:

     PROMPT='customusername~$' 

    Nu, om du öppnar ett nytt terminalfönster, ser du följande:

    Om du vill ändra någon annan parameter manuellt kan du göra det genom att ersätta standardvariablerna med formatet i PS1-variabeln ovan. Du kan inkludera eller ta bort information från zsh-prompten för att passa dina önskemål.

    Om detta låter för komplicerat, använd en webbplats som Zsh promptgenerator för att hjälpa dig att anpassa ditt Z-skal.

    Lägg till datum och tid i zsh-prompten

    Förutom ditt användarnamn kan du lägga till aktuellt datum eller tid, så att du inte behöver titta bort från det aktiva terminalfönstret för att kontrollera den informationen.

    Starta terminalen och öppna .zshrc-profilen:

     nano ~/.zshrc 

    För att inkludera datumet i prompten kan du använda %D för att datumet ska visas i formatet åå-mm-dd eller %W för att det ska visas i formatet mm/dd/åå. Sedan kommer den nya prompten att se ut så här:

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

    Vi använde ett kolon (:) i PROMPT-variabeln ovan för att lägga till visuell separation, men du kan använda blanksteg eller något annat. Till exempel använder vi tecknet större än (>) för att separera tiden och den aktuella katalogen.

    Om du vill inkludera systemtiden i zsh-prompten, lägg till %T för den aktuella tiden i 24-timmarsformat, %t för att tiden ska visas i 12-timmarsformat, eller använd %* för att visa tiden i 24-timmarsformatet -timformat tillsammans med sekunder.

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

    Visa datum och tid till höger om din zsh-prompt

    För att visa information till höger om zsh-prompten måste du lägga till variabeln RPROMPT i zshrc-filen. Om du till exempel vill lägga till datum och tid anger du följande:

    RPROMPT='%D @ %T'

    Din prompt kommer nu att se ut så här:

    Lägg till färg i text i zsh-prompten

    Förutom att modifiera Terminal-appen med färger, kan du lägga till lite färg till texten på din zsh-profil på Mac för att få en trevlig visuell paus. Starta Terminal och öppna .zshrc-profilen:

     nano ~/.zshrc 

    Z-skalet stöder färg och nyanser av grått till uppmaningstexten för att komplettera bakgrunden. Du kan välja en förgrundsfärg (text) från dessa alternativ: svart, vit, gul, grön, röd, blå, cyan och magenta. Så här använder du dem:

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

    Om du vill välja en specifik zsh-färgnyans kan du välja mellan 256 8-bitars färger som terminalen stöder. Så här använder du de numeriska värdena för färgerna:

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

    Du måste placera %F och %f standardvariabler för förgrundsfärg mellan den relevanta texten du vill färglägga.

    Lägga till visuella effekter i zsh-prompten

    Om det inte räcker att färglägga promptens text kan du markera din zsh-prompt så att den sticker ut bland textväggen. Till att börja med kan du feta zsh-prompten:

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

    Om du lägger till %B i början och sätter %b i slutet mellan den relevanta texten blir den fet.

    På samma sätt kan du sätta %S i början och %s i slutet för att markera texten. Markeringen kommer att ha samma färg som du har valt att visas mellan %S och %s variablerna.

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

    Du kan också stryka under texten i zsh-prompten. För att lägga till en understrykning till en prompt kan du inkludera variabeln %U i början och %u i slutet av den relevanta texten.

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

    Ta bort de senaste inloggningsuppgifterna från zsh-prompten

    Att dölja eller inaktivera den översta raden som avslöjar den senaste inloggningstiden i Terminal-appen kan ge din zsh-prompt ett renare utseende. Du kan använda följande kommando för att dölja informationen:

     touch ~/.hushlogin 

    Nästa gång du öppnar Terminal kommer du inte att se något ovanför zsh-prompten.

    Återställ din zsh-anpassning

    Om du behöver en nystart kan du göra det genom att ställa in variabeln PROMPT eller PS1 till standardvärdet:

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

    Om du lade till information till höger om zsh-prompten med RPROMPT, radera den från .zshrc.

    Alternativt kan du säkert ta bort variablerna PROMPT/PS1 och RPROMPT i .zshrc-filen. Oroa dig inte, eftersom inställningarna i .zshrc-filen endast gäller den aktuella användarprofilen. Om du tar bort de två kommer standardinställningarna som är lagrade i Z shells systemfil på /etc/zshrc att användas.

    Nu när du har alla detaljer om hur du anpassar zsh-prompten, experimentera lite och gör den till din egen. Du kan feta, understryka, förkorta och till och med inkludera mer information i den. Och om du inte är nöjd med ändringarna kan du alltid återgå till standardutseendet snabbt.