Come personalizzare il prompt zsh nel terminale macOS

Punti chiave

  • macOS ti consente di personalizzare il prompt zsh nel Terminale per farlo risaltare e soddisfare le tue preferenze.
  • Crea un profilo .zshrc per memorizzare tutte le modifiche e le impostazioni desiderate nel prompt zsh.
  • Modifica il prompt zsh aggiungendo i valori desiderati per variabili come %n (nome utente), %m (nome del modello del Mac), %W (data) e %T (ora).

Sia che tu voglia che il prompt zsh utilizzi un colore diverso, visualizzi dettagli aggiuntivi o adotti un aspetto minimale per sfruttare al meglio lo spazio, macOS ti consente di farlo. Scopri come personalizzare il prompt zsh nel Terminale per farlo risaltare indipendentemente dal tuo background.

Nozioni di base sul prompt zsh

Quando apri l’app Terminale sul tuo Mac, vengono visualizzate alcune informazioni utili, come il tuo ultimo accesso e il prompt dei comandi. Questo è l’aspetto tipico del prompt per impostazione predefinita:

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

Il prompt zsh mostra una stringa di testo composta dal tuo nome utente e dal modello del computer, come MacBook Air, MacBook Pro, Mac mini e così via. La tilde (~) indica la posizione del prompt nella directory home.

Se navighi in una directory diversa nel tuo file system tramite Terminale, verrà visualizzato il nome della directory corrente al posto della tilde.

Crea un profilo Z Shell per memorizzare tutte le impostazioni

In genere, è necessario armeggiare con i file di sistema per modificare l’aspetto predefinito. Questo perché gli aggiornamenti di macOS ripristinano tutti i file di sistema sui valori predefiniti e perderai tutte le modifiche apportate. Quindi puoi creare un file di impostazioni specifico (noto come dotfile) per il tuo profilo zsh per memorizzare tutte le modifiche e le impostazioni che desideri nel prompt zsh.

  Come impostare la dimensione della finestra predefinita per Terminal su macOS

Non troverai questo dotfile per impostazione predefinita su macOS, quindi dovrai crearne uno. Si consiglia di creare un nuovo profilo .zshrc per memorizzare tutte le impostazioni, ad esempio l’aspetto e il comportamento del prompt zsh. Ecco come creare il profilo zsh (dotfile):

  • Apri l’app Terminale.
  • Digita il seguente comando e premi il tasto Invio:
     touch ~/.zshrc 
  • Il comando touch creerà il file del profilo .zshrc solo se non esiste già. Se esiste già, il comando non farà nulla.

    Verrà creato un profilo .zshrc nella directory home del tuo account utente. Puoi vederlo nel percorso /Utente// nel Finder se hai abilitato la visualizzazione dei file di sistema nascosti sul tuo Mac.

    Successivamente, il profilo zsh sarà disponibile per le shell interattive senza accesso ogni volta che avvii Terminal. Tuttavia, verrà utilizzato solo per le shell di accesso se non sono presenti altri file specifici dell’accesso come .zprofile e .zlogin.

    Personalizzazione del prompt zsh nel terminale

    In genere, il prompt zsh predefinito contiene informazioni come nome utente, nome della macchina e posizione a partire dalla directory home dell’utente. Questi dettagli sono archiviati nel file di sistema della shell zsh nella posizione /etc/zshrc:

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

    In questa stringa di variabili:

    • %n è il nome utente del tuo account.
    • %m è il nome del modello del tuo Mac.
    • %1~ indica il percorso della directory di lavoro corrente, dove ~ rimuove la posizione della directory $HOME.
    • %# significa che il prompt mostrerà # se la shell è in esecuzione con privilegi di root (amministratore) e % in caso contrario.

    Per apportare qualsiasi modifica al prompt zsh predefinito, dovrai aggiungere valori pertinenti affinché il prompt venga visualizzato in modo diverso rispetto a quello predefinito.

    Ecco come procedere. Apri Terminale, digita il seguente comando e premi Invio:

     nano ~/.zshrc 

    Se il file del profilo .zshrc esisteva prima, è possibile che non sia vuoto. Tuttavia, se non esisteva quando hai eseguito il comando touch sopra, sarà vuoto. È possibile aggiungere una nuova riga con il testo PROMPT=’…’ o PS1=’…’ e includere i valori rilevanti nei puntini di sospensione.

    Per una semplice modifica al prompt zsh, puoi digitare questi valori nel profilo .zshrc:

     PROMPT='%n:~$' 

    Premi Ctrl + O per confermare le modifiche apportate al file, quindi premi Ctrl + X per uscire dall’editor nano.

      Come scaricare versioni precedenti di macOS

    Apri una nuova finestra di Terminale premendo Cmd + T per confermare e visualizzare le modifiche appena apportate. Il tuo nuovo prompt zsh mostrerà il nome utente, la directory home e il simbolo $ del tuo Mac alla fine. Puoi aggiungere uno spazio nella variabile PROMPT sopra tra %n, ~ e $ se preferisci le variabili distanziate nel Terminale.

    Se desideri avere un nome utente personalizzato, sostituisci %n con la tua scelta preferita. Ecco un esempio:

     PROMPT='customusername~$' 

    Ora, se apri una nuova finestra di Terminale, vedrai quanto segue:

    Se desideri modificare manualmente qualsiasi altro parametro, puoi farlo sostituendo le variabili predefinite utilizzando il formato nella variabile PS1 sopra. Puoi includere o rimuovere informazioni dal prompt zsh in base alle tue preferenze.

    Se sembra troppo complesso, utilizza un sito come Generatore di prompt Zsh per aiutarti a personalizzare la tua shell Z.

    Aggiungi la data e l’ora al prompt zsh

    Oltre al tuo nome utente, puoi aggiungere la data o l’ora corrente, in modo da non dover distogliere lo sguardo dalla finestra Terminale attiva per verificare tali informazioni.

    Avvia il Terminale e apri il profilo .zshrc:

     nano ~/.zshrc 

    Per includere la data nel prompt, è possibile utilizzare %D affinché la data venga visualizzata nel formato aa-mm-gg o %W affinché appaia nel formato mm/gg/aa. Quindi, il nuovo prompt apparirà in questo modo:

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

    Abbiamo utilizzato i due punti (:) nella variabile PROMPT sopra per aggiungere la separazione visiva, ma puoi utilizzare lo spazio bianco o qualsiasi altra cosa. Ad esempio, utilizziamo il segno maggiore di (>) per separare l’ora e la directory corrente.

    Se desideri includere l’ora del sistema nel prompt zsh, aggiungi %T per l’ora corrente nel formato 24 ore, %t affinché l’ora appaia nel formato 12 ore oppure usa %* per visualizzare l’ora nel formato 24 ore formato -ora insieme ai secondi.

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

    Visualizza la data e l’ora a destra del prompt zsh

    Per visualizzare le informazioni a destra del prompt zsh, è necessario aggiungere la variabile RPROMPT al file zshrc. Ad esempio, per aggiungere la data e l’ora, inserisci quanto segue:

    RPROMPT='%D @ %T'

    Il tuo prompt ora sarà simile a questo:

    Aggiungi colore al testo nel prompt zsh

    Oltre a modificare l’app Terminale con i colori, puoi aggiungere un po’ di colore al testo sul tuo profilo zsh su Mac per ottenere una piacevole pausa visiva. Avvia Terminale e apri il profilo .zshrc:

     nano ~/.zshrc 

    La shell Z supporta colori e sfumature di grigio nel testo del prompt per completare lo sfondo. Puoi scegliere un colore di primo piano (testo) tra queste scelte: nero, bianco, giallo, verde, rosso, blu, ciano e magenta. Ecco come usarli:

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

    Se desideri scegliere una tonalità di colore zsh specifica, puoi scegliere tra 256 colori a 8 bit supportati dal Terminale. Ecco come utilizzare i valori numerici dei colori:

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

    Devi posizionare le variabili di colore di primo piano predefinite %F e %f tra il testo pertinente che desideri colorare.

      Come aggiungere un Mac al Dock su macOS

    Aggiunta di effetti visivi nel prompt zsh

    Se colorare il testo del prompt non è sufficiente, puoi evidenziare il tuo prompt zsh per farlo risaltare nel muro di testo. Per cominciare, puoi mettere in grassetto il prompt zsh:

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

    Aggiungendo %B all’inizio e inserendo %b alla fine tra il testo rilevante lo renderà in grassetto.

    Allo stesso modo, puoi inserire %S all’inizio e %s alla fine per evidenziare il testo. L’evidenziazione avrà lo stesso colore che hai scelto per apparire tra le variabili %S e %s.

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

    Puoi anche sottolineare il testo del prompt zsh. Per aggiungere una sottolineatura a un prompt, è possibile includere la variabile %U all’inizio e %u alla fine del testo rilevante.

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

    Rimuovere gli ultimi dettagli di accesso dal prompt zsh

    Nascondere o disabilitare la riga superiore che rivela l’ora dell’ultimo accesso nell’app Terminale può dare al tuo prompt zsh un aspetto più pulito. È possibile utilizzare il comando seguente per nascondere tali informazioni:

     touch ~/.hushlogin 

    La prossima volta che apri Terminale, non vedrai nulla sopra il prompt zsh.

    Ripristina la personalizzazione di zsh

    Se hai bisogno di un nuovo inizio, puoi farlo impostando la variabile PROMPT o PS1 sul valore predefinito:

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

    Se hai aggiunto informazioni a destra del prompt zsh utilizzando RPROMPT, eliminale da .zshrc.

    In alternativa, puoi eliminare in sicurezza le variabili PROMPT/PS1 e RPROMPT nel file .zshrc. Non preoccuparti, perché le impostazioni nel file .zshrc si applicano solo al profilo utente corrente. Se li elimini, verranno utilizzate le impostazioni predefinite memorizzate nel file di sistema della Z shell in /etc/zshrc.

    Ora che hai tutti i dettagli su come personalizzare il prompt zsh, sperimenta un po’ e personalizzalo. Puoi mettere in grassetto, sottolineare, abbreviare e persino includere più informazioni. E se non sei soddisfatto delle modifiche, puoi sempre ripristinare rapidamente l’aspetto predefinito.