MacOS X – Come personalizzare i colori del Terminale

MacOS X

Per chi arriva da Unix, con una shell tutto “colorato”, ritrovarsi il Terminale con testi tutti in nero su uno sfondo bianco, può essere un po’ traumatico, essendo che in questo modo non risaltano agli occhi immediatamente i diversi tipi di files, proprietà, permessi, percorsi, ecc…

In questa guida vedremo diversi modi per personalizzare i colori del Terminale, evidenziare con colori differenti i comandi, le cartelle, i files, applicare anche direttamente dei temi grafici.

Cambiare il Profilo grafico di Terminale

Apple, all’interno delle Preferenze del Terminale ha già incluso diversi temi grafici, e li potete trovare sotto la tab Profili.

Qui potrete selezionare uno dei profili proposti da Apple, e volendo, personalizzarvelo andando a cambiare colori, effetti, sfondo, font, ecc..

Se volete qualcosa di più, potete però scaricarvi questa libreria gratuita che contiene parecchi temi grafici ulteriori. Una volta scaricata sulla vostra Scrivania questa libreria, vi basterà decomprimerla e vedere che al suo interno vi sono più di 150 temi (potete vedere un’anteprima grafica di ogni tema all’interno della cartella “screenshots”).

Scegliete il tema che più vi piace, click destro e selezionate Apri. Vi si aprirà una finestra del Terminale con impostato quel tema grafico che avete scelto. Se siete soddisfatti, dovrete rendere questa impostazione come predefinita, e per farlo vi basterà andare nel menù in alto Shell e selezionare la voce Utilizza impostazioni come default.

Potete provare ogni tema presente in questa libreria che avete scaricato, ce ne sono davvero per tutti i gusti. Vi basterà ripetere i passaggi descritti poco fa.

Modificare Bash Prompt, abilitare Colori, migliorare il comando ‘ls’

Con il precedente metodo abbiamo semplicemente applicato un tema grafico al Terminale.

Ora vedremo invece come migliorarne davvero alcuni aspetti.

Per farlo, dovremo andare a modificare il file .bash_profile presente nella vostra home (è nascosto, ovviamente, ma potete vederlo con il comando ls -la)

Con il Terminale aperto, scriviamo cd ~ (la tilde ~ con la tastiera Mac italiana, si fa con Alt ⌥ + 5) in modo da portarci nella home del nostro utente.

A questo punto, apriamo il file .bash_profile scrivendo nano .bash_profile

Copiamo all’interno del file, il seguente codice:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

Salviamo il file premendo Ctrl + O e usciamo da nano con Ctrl + X.

Affinché le modifiche abbiano effetto, dovrete scrivere il seguente  comando source .bash_profile

Analizziamo ora le 4 righe appena inserite:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "

Con questa riga siamo andati a colorare il prompt bash, riarrangiandolo nel formato “username@hostname:cwd $”

export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad

Con queste 2 righe abbiamo abilitato il colore da riga di comando, e definito i colori per il comando LS

alias ls='ls -GFh'

Infine abbiamo creato un aliasi al comando LS, aggiungendo di default -G (output colorato), -h (dimensioni normali per essere letto meglio), -F (aggiunge un / alle directory, * ai file eseguibili, @ ai symlink) rendendo tutto più facile da identificare nella lista file di una cartella.

Personalizziamo la variabile LSCOLORS

Vediamo nel dettaglio la variabile LSCOLORS. Innanzitutto, nel caso vogliate tornare indietro da ogni modifica, il valore di default di questa stringa è il seguente LSCOLORS=exfxcxdxbxegedabagacad

exfxcxdxbxegedabagacad è una concatenazione di coppie di valori del formato TS, dove T è il colore del Testo, e S è il colore dello Sfondo.

Queste 11 coppie di valori presenti nella stringa si riferiscono a:

  1. directory
  2. collegamento simbolico
  3. socket
  4. pipe
  5. eseguibile
  6. dispositivo di block
  7. dispositivo di carattere
  8. eseguibile con setuid set
  9. eseguibile con setguid set
  10. directory scrivibile da altri, con sticky bit
  11. directory scrivibile da altri, senza sticky bit

e i codici dei colori sono:

  • a = nero
  • b = rosso
  • c = verde
  • d = marrone
  • e = blu
  • f = magenta
  • g = ciano
  • h = grigio
  • A = grigio scuro
  • B = rosso grassetto
  • C = verde grassetto
  • D = giallo
  • E = blu grassetto
  • F = magenta
  • G = ciano
  • H = bianco
  • x = default

Prendendo in esame quindi la nostra stringa exfxcxdxbxegedabagacad, vediamo che la prima coppia di valori ex, che si riferisce alle directory, verrà mostrata con testo blu (e) con sfondo di default (x). La seconda coppia di valori fx, che si riferisce ai symlinks, li mostrerà colorati in magenta (f) con sfondo di default (x).. e così via per le altre coppie di valori.

Ora sarete in grado di personalizzarvi ogni colore del Terminale a vostro piacimento combinando codici colore TS per ognuna delle 11 coppie.

Evidenziazione sintassi su Vim

Con questa ultima chicca, vi mostrerò come abilitare i colori anche nell’editor Vi (o Vim).

Aprendo il terminale, e portandovi nella home del vostro utente (cd ~ come visto in precedenza), apriamo (o creiamo) il file .vimrc con il seguente comando vim ~/.vimrc

Copiamo le seguenti due righe

filetype plugin indent on
syntax on
Salviamo e chiudiamo. (ESC  :wq)