Come personalizzare il prompt zsh nel Terminale su macOS

L'applicazione Terminale è l'interfaccia della riga di comando su macOS. Ogni finestra nel Terminale rappresenta un'istanza di un processo di shell. La finestra contiene un messaggio che indica che è possibile immettere un comando. Il messaggio visualizzato dipende dalle impostazioni della shell e dall'applicazione Terminale, ma in genere contiene il nome dell'host a cui hai effettuato l'accesso, la cartella su cui stai attualmente lavorando, il tuo nome utente e un'icona del messaggio.

Con la crescente adozione di macOS e la popolarità dell'utilizzo di zsh come alternativa a bash, la personalizzazione della direttiva zsh diventa importante per migliorare l'esperienza di lavoro nel terminale.

Sia che tu voglia che il tuo router zsh utilizzi un colore diverso, visualizzi dettagli aggiuntivi o adotti un aspetto minimalista per sfruttare al massimo lo spazio, macOS ti consente di farlo. Scopri come personalizzare il prompt zsh nel Terminale per farlo risaltare indipendentemente dallo sfondo. Verificare Come correggere l'errore "comando zsh: codice non trovato" nel Terminale su macOS.

Nozioni di base sul router 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 predefinito del prompt:

Cognome accesso: Mercoledì Feb 322:00:40on consolle alvin@MacBook-Aria ~ %

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

Se ti sposti 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

Di solito, devi manipolare i file di sistema per cambiare il tema 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 tuo router zsh.

Per impostazione predefinita non troverai un file dotfile su macOS, quindi dovrai crearlo. Si consiglia di creare un nuovo file di definizione .zshrc per memorizzare tutte le impostazioni, ad esempio il modo in cui appare e si comporta il router zsh. Ecco come creare un profilo zsh (dotfile):

  1. Apri l'applicazione Terminale .
  2. Digita il seguente comando e premi entra:
PS1="%n@%m %1~ %#"

Nota: Il comando touch creerà un file di definizione .zshrc solo se non esiste già. Se fosse già lì, non farebbe nulla.

L'esecuzione del codice creerà un profilo .zshrc nella directory home del tuo account utente. Puoi vederlo all'interno del percorso /Utente// Nel "Finder" se abiliti Visualizza i file di sistema nascosti sul tuo Mac.

Successivamente, il profilo zsh sarà disponibile per la shell senza effettuare l'accesso ogni volta che si avvia il terminale. Tuttavia, verrà utilizzato solo per le caselle di accesso se non sono presenti altri file di accesso come .zprofile e .zlogin.

Personalizza il router zsh nel terminale

Il router zsh predefinito solitamente trasporta informazioni quali nome utente, nome macchina e percorso a partire dalla directory home dell'utente. Questi dettagli sono memorizzati nel file di sistema della shell zsh nel percorso /etc/zshrc:

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

In questa serie di variabili:

  1. %n È il nome utente del tuo account.
  2. %m Il nome del tuo modello di Mac.
  3. %1~ indica il percorso della directory di lavoro corrente, dove ~ rimuove il percorso della directory $HOME.
  4. %# Significa che il router 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 in modo che il prompt appaia diverso da quello predefinito.

Ecco come farlo. Apri Terminale, digita il comando seguente, quindi premi Rientro:

nano ~/.zshrc

Se il profilo .zshrc esiste già, probabilmente non è vuoto. Tuttavia, se non è presente quando si esegue un comando toccare sopra, sarà vuoto. Puoi aggiungere una nuova riga con il testo PROMPT=’…’ o PS1=’…’ e includere i valori rilevanti tra virgolette.

Per apportare una semplice modifica al router zsh è possibile scrivere questi valori nel file di definizione .zshrc:

PROMPT='%n:~$'

Clicca su Ctrl + O Per confermare le modifiche apportate al file, premere Ctrl + X Per uscire dall'editor nano.

Aprire una nuova finestra del terminale facendo clic Comando + T Per confermare e visualizzare le modifiche appena apportate. Il nuovo prompt zsh mostrerà il nome utente del tuo Mac, la directory home e un simbolo $ alla fine. Puoi aggiungere spazi nella variabile PROMPT sopra tra %n, ~ e $ se preferisci che le variabili siano distanziate nel terminale.

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

PROMPT='nomeutentepersonalizzato~$'

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 complicato, utilizza un sito Web come Generatore di prompt Zsh Per aiutarti a personalizzare Z Shell. Verificare Confronto tra Zsh e Bash: scelta della shell adeguata per la programmazione e la gestione del testo.

Aggiungi data e ora al prompt zsh

Oltre al tuo nome utente, puoi aggiungere la data o l'ora corrente, quindi non devi guardare lontano dalla finestra Terminale attiva per verificare tali informazioni.

Avvia il terminale e apri il file del profilo .zshrc:

nano ~/.zshrc

Per includere la data nel prompt, è possibile utilizzare %D La data verrà visualizzata nel formato aa-mm-gg o %W Da visualizzare nel formato mm/gg/aa. Il nuovo router apparirà quindi come segue:

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

Consigli: Abbiamo utilizzato i due punti (:) nella variabile PROMPT sopra per aggiungere la separazione visiva, ma potresti utilizzare spazi bianchi o qualcos'altro. Ad esempio, utilizziamo il segno maggiore di (>) per separare l'ora dalla directory corrente.

Se vuoi includere l'ora del sistema nella direttiva zsh, aggiungi %T Per l'ora corrente nel formato 24 ore, o %t Per mostrare l'ora nel formato 12 ore, oppure utilizzare %* Visualizza l'ora nel formato 24 ore. coordinazione -ora Con secondi.

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

Visualizza la data e l'ora sulla destra del router zsh

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

PRONTA='%D @ %T'

Il tuo animatore ora sarà simile a questo:

Aggiungi colore al testo al prompt di zsh

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

nano ~/.zshrc

Z Shell supporta colori e sfumature di grigio per il testo vettoriale per completare lo sfondo. Puoi scegliere il colore di primo piano (testo) da queste opzioni: nero, bianco, giallo, verde, rosso, blu, ciano e magenta. Ecco come usarlo:

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

Se desideri scegliere una tonalità di colore zsh specifica, puoi scegliere tra i 256 colori a 8 bit supportati dall'applicazione terminale. Ecco come utilizzare i valori numerici per i colori:

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

È necessario impostare le variabili predefinite del colore di primo piano %F و %f Evidenzia il testo pertinente che desideri colorare.

Aggiungi effetti visivi nel prompt zsh

Se colorare il testo del prompt non è sufficiente, puoi evidenziare il prompt zsh per farlo risaltare da molto testo. Per cominciare, puoi digitare il prompt zsh in grassetto:

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

aggiunta %B All'inizio e nell'ambientazione %b Infine tra il testo pertinente sarà reso in grassetto.

Allo stesso modo, puoi aggiungere %S All'inizio e %s Infine, per evidenziare il testo. L'evidenziazione sarà dello stesso colore che hai scelto per apparire tra le due varianti %S و %s.

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

Puoi anche sottolineare il testo della direttiva zsh. Per aggiungere un carattere di sottolineatura al prompt, è possibile includere la variabile %U All'inizio del testo e %u Alla fine del testo in questione.

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

Rimuovi gli ultimi dettagli di accesso dal router zsh

Nascondere o disabilitare la riga superiore che rivela l'ora dell'ultimo accesso nell'applicazione Terminale può conferire al router zsh un aspetto più visibile. È possibile utilizzare il seguente comando per nascondere queste informazioni:

toccare ~/.hushlogin

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

Reimposta la tua allocazione 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 entrambi, verranno utilizzate le impostazioni predefinite archiviate nel file di sistema della Z Shell /etc/zshrc.

Ora che hai tutti i dettagli su come personalizzare il router zsh, sperimenta un po' e rendilo più evidente. Puoi renderlo in grassetto, sottolinearlo, abbreviarlo e persino includere più informazioni. E se non sei soddisfatto delle modifiche, puoi sempre ripristinare rapidamente il tema predefinito. Ora puoi visualizzare Confronto tra macOS e Linux: differenze chiave che dovresti conoscere.

Vai al pulsante in alto