Da buon sviluppatore software Luca Marcato utilizza spesso il terminale per svariati motivi: git per il versionamento del codice, eseguire di script, utilizzare l’editor vi, connettersi ad un server in ssh, eseguire comandi con npm, e altro ancora.
Fare tutte queste operazioni con il terminale di default del proprio sistema operativo può risultare noioso.
Avete mai sentito parlare di zsh? E di Oh My Zsh?
Oh my Zsh e Zsh
Zsh è una shell per sistemi Linux (e disponibile anche su Windows tramite l’installazione di Windows Subsystem for Linux, o WSL). Oh My Zsh è un framework che mette a disposizione una valanga di temi e plugin per rendere il più personale possibile la shell, come avere un abito cucito su misura.
A questo link trovate una lista di temi interessanti; tenete presente che di base Oh My Zsh contiene tante cose utili.
Esistono però molti interessanti plugin, consultabili a questa lista: alcuni sono simpatici ma di dubbia utilità, come ad esempio chucknorris. Di altri invece credo non riuscireste più a farne a meno, come ad esempio Z.
Il plugin Z
A cosa serve questo plugin?
In breve, Z osserva ed impara mentre navighiamo tra le nostre cartelle e all’occorrenza ci porta direttamente su quella più frecent (fusione dei termini frequent e recent, ovvero frequente e recente) che soddisfa l’espressione, o regex, che abbiamo scritto a terminale.
Per i più curiosi l’algoritmo è il seguente:
t=$(date +%s) # timestamp function frecent(rank, time) { dx = t-time if( dx < 3600 ) return rank*4 if( dx < 86400 ) return rank*2 if( dx < 604800 ) return rank/2 return rank/4 }
Può sembrare strano, ma capita molto spesso di ricordarsi il nome, o parte del nome, di una cartella e non avere idea del suo path, che a volte può anche essere parecchio lungo. Grazie a Z, dopo il primo accesso alla cartella, sarà possibile ritornarci scrivendo semplicemente z seguito dal nome, o parte del nome, della cartella.
L’immagine seguente mostra un esempio.

Prima vi ho parlato di frecent e regex. Supponiamo di creare la cartella paperi; se a terminali scrivessi z paperi
verrei rediretto alla cartella paperino che è la più frecent.
Se volessi andare nella cartella paperi? Nessun problema, facciamo uso della regex, che nell’esempio seguente è eri$
ovvero trova i nomi che terminano con i caratteri eri.

Spero di avervi un po’ incuriositi. Se non conoscete il plugin Z, provatelo, vedrete che vi toglierà un po’ di noia.