{{tag>console shell zsh }} ---- ====== 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|Zsh]] et est piloté par la communauté. Il est livré avec des tonnes de fonctions utiles au travers des [[https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins|plugins]], des assistants, des [[https://github.com/ohmyzsh/ohmyzsh/wiki/Themes|thèmes]]. Ces fonctions que vous ajouterez à Zsh vous rendront votre terminal plus ergonomique et sexy. ====== Installation ====== ===== Prérequis ===== [[zsh|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|Zsh]]. chsh -s /bin/zsh Puis déconnectez-vous, et reconnectez-vous pour avoir [[zsh|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|Zsh]] source ~/.zshrc [[curl|Curl]] ou [[wget|Wget]] et [[git|Git]] doivent-être installés. [[git|Git]] doit être en v2.4.11 ou supérieure. Pour [[tutoriel:comment_installer_un_paquet|l'installation de ces applications]] exécutez dans un [[terminal|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)** [[https://github.com/ohmyzsh/ohmyzsh/wiki|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)** [[https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes|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 [[tutoriel:comment_modifier_un_fichier|éditer]] le fichier de configuration [[zsh|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 [[tutoriel:comment_modifier_un_fichier|éditer]] le fichier de configuration [[zsh|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=( "" "" ) ==== 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 {{ :application:zsh:oh-my-zsh_jonathan-theme.png?800 | 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-) {{ :application:zsh:oh-my-zsh_personal-theme.png?800 |}} Vous pouvez aussi partir d'un fichier vide en suivant le tutoriel **(en)** [[https://blog.carbonfive.com/writing-zsh-themes-a-quickref/|Writing ZSH Themes: A Quickref]] ===== Voir aussi ===== * [[zsh|Zsh]] * **(en)** [[https://ohmyz.sh|Oh my Zsh]] * **(fr)** [[https://les-enovateurs.com/oh-my-zsh-parametrage-themes|OH My Zsh – GUIDE COMPLET : PARAMÉTRAGE DES THÈMES]] ---- //Contributeur : [[:utilisateurs/sefran|Franc SERRES]]