Table des matières

, ,

Oh My Zsh

Lorsque vous travaillez avec des environnements basés sur Unix, la majorité de votre temps sera consacrée à travailler dans un terminal. Un bon terminal nous fera nous sentir bien et améliorera notre productivité. C'est là que Oh My Zsh entre en jeu.

Oh My Zsh est un framework open source pour la gestion de la configuration Zsh et est piloté par la communauté. Il est livré avec des tonnes de fonctions utiles au travers des plugins, des assistants, des thèmes. Ces fonctions que vous ajouterez à Zsh vous rendront votre terminal plus ergonomique et sexy.

Installation

Prérequis

Zsh doit être installé. La version 4.3.9 ferait l'affaire, mais de préférence utilisez la version 5.0.8 ou plus récente.

N'oubliez pas de définir votre shell par défaut à Zsh.
chsh -s /bin/zsh

Puis déconnectez-vous, et reconnectez-vous pour avoir Zsh comme shell par défaut.

Vous pouvez aussi lancer le shell manuellement dans bash

zsh

Et pour activer les modifications du fichier de configuration ~/.zhrc dans le terminal actif avec une instance Zsh

source ~/.zshrc

Curl ou Wget et Git doivent-être installés. Git doit être en v2.4.11 ou supérieure.

Pour l'installation de ces applications exécutez dans un terminal

sudo apt install curl wget git

Installation de Oh My Zsh

Installez Oh My Zsh via une des lignes de commande avec curl ou wget comme indiqué.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

ou

sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

Une fois que vous avez installé Oh My Zsh, une sauvegarde de votre fichier .zhrc existant sera effectuée. Ensuite, un nouveau fichier .zshrc sera créé avec les configurations.

Ainsi, si vous décidez de supprimer Oh My Zsh à l'aide du programme de désinstallation, l'ancien fichier .zshrc sera automatiquement restauré.

Installation des extensions

Pour ajouter des extensions il suffit de copier l'extension dans le répertoire ~/.oh-my-zsh/custom/plugins.

Exemple avec git pour l'assistant zsh-autosuggestions

git clone https://raw.githubusercontent.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

Exemple avec le plugins

git clone https://raw.githubusercontent.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

Vous pouvez aussi télécharger d'autres extensions sur (en) External plugins

Installation des thèmes

Pour ajouter des thèmes il suffit de copier le thème dans le répertoire ~/.oh-my-zsh/custom/themes.

Vous pouvez aussi télécharger d'autres thèmes sur (en) External themes

Configurations

Tous les paramètres de configuration sont placés dans le fichier .zshrc. C'est là que vous devez modifier les paramètres de Oh My Zsh pour activer les nouveaux plugins ou modifier les thèmes en fonction des besoins.

Configuration des paramètres Oh My Zsh

Configuration des extensions Oh My Zsh

Pour valider une extension, un plugin en anglais, il faut éditer le fichier de configuration Zsh .zhrc de votre compte utilisateur en tapant la commande suivante par exemple

nano ~/.zshrc

Activer une extension

Modifier

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
    git
    zsh-autosuggestions
    zsh-syntax-highlighting
    «votre plugin»
)

Trouver les extensions

Pour voir la liste des extensions disponibles

ls ~/.oh-my-zsh/plugins

Configuration des thèmes Oh My Zsh

Pour valider un thème il faut éditer le fichier de configuration Zsh .zhrc de votre compte utilisateur en tapant la commande suivante par exemple

nano ~/.zshrc

Activer un thème

Modifier

ZSH_THEME="votre thème"

Trouver les thèmes

Pour voir la liste des thèmes disponibles

ls ~/.oh-my-zsh/themes

Thèmes aléatoires

Vous pouvez aussi randomiser les thèmes à afficher à partir du répertoire ~/.oh-my-zsh/themes. Pour cela vous devez modifier la variable *ZSH_THEME* du fichier .zhrc comme suit.

ZSH_THEME="random"

Pour tester ouvrez plusieurs terminaux avec par exemple le raccourcis clavier CTRL + ALT + T

Vous pouvez limiter le choix des thèmes à une sélection. Pour cela il vous faudra modifier la variable ZSH_THEME_RANDOM_CANDIDATES du fichier .zhrc

ZSH_THEME_RANDOM_CANDIDATES=( "<nom premier thème>" "<nom second thème>" )

Créer son thème

Vous pouvez créer votre thème. Pour cela il vous suffit de copier et modifier un thème existant.

Par exemple avec le theme jonathan  Terminal Zsh avec le thème Jonathan

cp ~/.oh-my-zsh/themes/jonathan.zsh-theme ~/.oh-my-zsh/themes/montheme.zsh-theme

Modifier

# Finally, the prompt.
PROMPT='${PR_SET_CHARSET}${PR_STITLE}${(e)PR_TITLEBAR}\
${PR_CYAN}${PR_ULCORNER}${PR_HBAR}${PR_GREY}(\
${PR_GREEN}%${PR_PWDLEN}<...<%~%<<\
${PR_GREY})$(ruby_prompt_info)${PR_CYAN}${PR_HBAR}${PR_HBAR}${(e)PR_FILLBAR}${PR_HBAR}${PR_GREY}(\
${PR_CYAN}%(!.%SROOT%s.%n)${PR_GREY}@${PR_GREEN}%m:%l\
${PR_GREY})${PR_CYAN}${PR_HBAR}${PR_URCORNER}\

${PR_CYAN}${PR_LLCORNER}${PR_BLUE}${PR_HBAR}(\
${PR_YELLOW}%D{%H:%M:%S}\
${PR_LIGHT_BLUE}%{$reset_color%}$(git_prompt_info)$(git_prompt_status)${PR_BLUE})${PR_CYAN}${PR_HBAR}\
${PR_HBAR}\
>${PR_NO_COLOUR} '

# display exitcode on the right when > 0
return_code="%(?..%{$fg[red]%}%? ↵ %{$reset_color%})"
RPROMPT=' $return_code${PR_CYAN}${PR_HBAR}${PR_BLUE}${PR_HBAR}\
(${PR_YELLOW}%D{%a,%b%d}${PR_BLUE})${PR_HBAR}${PR_CYAN}${PR_LRCORNER}${PR_NO_COLOUR}'

en

# Finally, the prompt.
PROMPT='${PR_SET_CHARSET}${PR_STITLE}${(e)PR_TITLEBAR}\
${PR_CYAN}${PR_ULCORNER}${PR_HBAR}${PR_BLUE}(${PR_NO_COLOUR}🌍\
${PR_GREY}%${PR_PWDLEN}<...<%~%<<\
${PR_BLUE})$(ruby_prompt_info)${PR_CYAN}${PR_HBAR}${PR_HBAR}${(e)PR_FILLBAR} \
${PR_CYAN}%(!.%SROOT%s.%n)${PR_GREY}@${PR_GREEN}%m:%l\
${PR_CYAN} ${PR_URCORNER}\

${PR_CYAN}${PR_LLCORNER}${PR_HBAR}${PR_BLUE}(\
${PR_YELLOW}%D{%H:%M:%S}\
${PR_LIGHT_BLUE}%{$reset_color%}$(git_prompt_info)$(git_prompt_status)${PR_BLUE})${PR_CYAN}${PR_HBAR}\
${PR_HBAR}\
${PR_RED}❱${PR_NO_COLOUR} 👽 '

# display exitcode on the right when > 0
return_code="%(?..%{$fg[red]%}%? ↵ %{$reset_color%})"
RPROMPT=' $return_code${PR_CYAN}${PR_HBAR}${PR_HBAR}\
${PR_BLUE}(${PR_YELLOW}%D{%A %d %b}${PR_BLUE})${PR_CYAN}${PR_HBAR}${PR_LRCORNER}${PR_NO_COLOUR}'

Et vous obtenez un terminal plus francisé et sexy 8-)

Vous pouvez aussi partir d'un fichier vide en suivant le tutoriel (en) Writing ZSH Themes: A Quickref

Voir aussi


Contributeur : Franc SERRES