Oh my zsh include più di 200 plugin (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), 140+ temi e un tool per l’auto-aggiornamento.
In questa guida verrà mostrato come installare zsh e oh my zsh insieme all’impostazione di uno dei temi più famosi, agnoster, la cui installazione richiede però delle piccole “accortezze.”
Prerequisiti:
Per installare Oh My Zhs dobbiamo per prima cosa installare zsh, curl o wget e git
1. Installare zsh
In Debian, Ubuntu e derivate:
sudo apt-get install zsh
In Arch Linux e derivate:
yaourt -S zsh
2. Installazione Oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
via wget
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
NOTA: Oh-my-zsh cercherà automaticamente gli update.
3. Cambiare la shell di default
chsh -s /bin/zsh
4. (Opzionale)
Si possono modificare i settings di oh-my-zsh modificando il file .zshrc
nano ~/.zshrc
nano ~/.zshrc
è possibile usare l’editor di testo preferito al posto di nano ovviamente.
Un piccolo estratto:
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to “random”, it’ll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME=”agnoster”
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE=”true”
# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and – will be interchangeable.
# HYPHEN_INSENSITIVE=”true”
# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE=”true”
# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS=”true”
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE=”true”
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION=”true”
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS=”true”
…etc
Ogni opzione chiaramente è commentata cosi che ogni utente possa capire facilmente cosa abilitare o meno e a seconda delle proprie esigenze.
5. Plugins
Per quanto riguarda i plugins riferirsi a questa pagina.
https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
6. Temi
Quello che vedete in figura è il tema agnoster. I temi si trovano nella directory di oh-my-zsh nella home ossia .oh-my-zsh
Per visualizzare una lista di temi disponibili:
ls ~/.oh-my-zsh/themes
in alternativa è possibile sfogliarli e sceglierli dalla pagina del progetto dove ci sono anche degli screenshots
https://github.com/robbyrussell/oh-my-zsh/wiki/themes
Per impostare il tema scelto basta modificare il file .zshrc nella home
nano ~/.zshrc
al posto di nano possiamo usare l’editor che preferiamo
e de-commentare la seguente riga:
ZSH_THEME=”agnoster”
inserendo il tema prescelto.
NOTA: Alcuni temi come il famoso agnoster, mostrato nello screenshot, richiedono delle font patchate per la corretta visualizzazione di freccie e simboli. Il pacchetto che contiene le font patchate si chiama powerline. Come installarlo:
Arch linux e derivate
yaourt -S powerline-fonts-git
nota:
se la clonazione del repository fallisce modificare il PKGBUILD e la riga relativa al codice sorgente da
source=(‘git://github.com/powerline/fonts.git’)
in
source=(‘git+https://github.com/powerline/fonts.git’)
Debian, Ubuntu e derivate
Le installiamo direttamente dal codice sorgente https://github.com/powerline/fonts
wget https://github.com/powerline/fonts/archive/master.zip
estraiamo il contenuto
unzip -a master.zip
entriamo nella cartella appena estratta
cd fonts-master
ed eseguiamo il file .sh per installare le fonte
sh install.sh
al termine avremo le font installate e la cache delle font aggiornata. Chiaramente sarà necessario selezionare una delle font perché le modifiche abbiano effetto.
NOTA: È consigliabile utilizzare un terminale che permetta la scelta di schemi di colori ed usare lo schema “Solarized” http://ethanschoonover.com/solarized presente nella maggioranza dei terminali più avanzati (in termini di configurazioni). Da notare dalla schermata successiva la differenza tra Terminator ed lxterminal
È tutto.
Ringrazio Enrico D. per la guida.