Oh My Zsh est un framework open source piloté par la communauté pour gérer votre configuration zsh.
Cela semble ennuyeux. Essayons encore.
Oh My Zsh ne fera pas de vous un développeur 10x... mais vous pourriez vous sentir comme tel.
Une fois installée, la coque de votre terminal fera parler de vous ou vous serez remboursé ! À chaque frappe dans votre invite de commande, vous profiterez de centaines de plugins puissants et de superbes thèmes. Des inconnus viendront vers vous dans les cafés et vous demanderont : "C'est incroyable ! Êtes-vous une sorte de génie ?"
Enfin, vous commencerez à recevoir le genre d’attention que vous avez toujours pensé mériter. ...ou peut-être utiliserez-vous le temps que vous gagnez pour commencer à utiliser la soie dentaire plus souvent. ?
Pour en savoir plus, visitez ohmyz.sh, suivez @ohmyzsh sur X (anciennement Twitter) et rejoignez-nous sur Discord.
Système d'exploitation | Statut |
---|---|
Androïde | ✅ |
gratuitBSD | ✅ |
LCARS | ? |
Linux | ✅ |
macOS | ✅ |
Déformation OS/2 | |
Windows (WSL2) | ✅ |
zsh --version
pour confirmer), vérifiez les instructions wiki suivantes ici : Installation de ZSHcurl
ou wget
doivent être installésgit
doit être installé (recommandé v2.4.11 ou supérieur) Oh My Zsh est installé en exécutant l'une des commandes suivantes dans votre terminal. Vous pouvez l'installer via la ligne de commande avec curl
, wget
ou un autre outil similaire.
Méthode | Commande |
---|---|
boucle | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
wget | sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
aller chercher | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Alternativement, le programme d'installation est également mis en miroir en dehors de GitHub. L'utilisation de cette URL peut être nécessaire si vous vous trouvez dans un pays comme la Chine ou l'Inde (pour certains FAI), qui bloque raw.githubusercontent.com
:
Méthode | Commande |
---|---|
boucle | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
wget | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
aller chercher | sh -c "$(fetch -o - https://install.ohmyz.sh/)" |
Notez que tout .zshrc
précédent sera renommé en .zshrc.pre-oh-my-zsh
. Après l'installation, vous pouvez déplacer la configuration que vous souhaitez conserver dans le nouveau .zshrc
.
C'est une bonne idée d'inspecter le script d'installation des projets que vous ne connaissez pas encore. Vous pouvez le faire en téléchargeant d'abord le script d'installation, en le parcourant pour que tout semble normal, puis en l'exécutant :
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
Si l'URL ci-dessus expire ou échoue, vous devrez peut-être remplacer l'URL par https://install.ohmyz.sh
pour pouvoir obtenir le script.
Oh My Zsh est livré avec une multitude de plugins dont vous pouvez profiter. Vous pouvez jeter un œil dans le répertoire des plugins et/ou sur le wiki pour voir ce qui est actuellement disponible.
Une fois que vous avez repéré un plugin (ou plusieurs) que vous souhaitez utiliser avec Oh My Zsh, vous devrez les activer dans le fichier .zshrc
. Vous trouverez le fichier zshrc dans votre répertoire $HOME
. Ouvrez-le avec votre éditeur de texte préféré et vous verrez un endroit pour lister tous les plugins que vous souhaitez charger.
vi ~ /.zshrc
Par exemple, cela pourrait ressembler à ceci :
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
Notez que les plugins sont séparés par des espaces (espaces, tabulations, nouvelles lignes...). N'utilisez pas de virgules entre eux, sinon cela se briserait.
Chaque plugin intégré comprend un README le documentant. Ce README doit afficher les alias (si le plugin en ajoute) et les goodies supplémentaires inclus dans ce plugin particulier.
Nous l'admettons. Au début du monde Oh My Zsh, nous sommes peut-être devenus un peu trop satisfaits du thème. Nous avons désormais plus de cent cinquante thèmes regroupés. La plupart d'entre eux ont des captures d'écran sur le wiki (nous travaillons sur leur mise à jour !). Découvrez-les !
Le thème de Robby est celui par défaut. Ce n'est pas le plus chic. Ce n'est pas le plus simple. C'est juste le bon (pour lui).
Une fois que vous avez trouvé un thème que vous souhaitez utiliser, vous devrez modifier le fichier ~/.zshrc
. Vous y verrez une variable d'environnement (toutes en majuscules) qui ressemble à :
ZSH_THEME= " robbyrussell "
Pour utiliser un thème différent, modifiez simplement la valeur pour qu'elle corresponde au nom du thème souhaité. Par exemple:
ZSH_THEME= " agnoster " # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
Note
Vous verrez plusieurs fois des captures d'écran d'un thème zsh, vous l'essayerez et constaterez qu'il ne vous ressemble pas.
En effet, de nombreux thèmes nécessitent l'installation d'une police Powerline ou d'une police Nerd afin d'obtenir un rendu correct. Sans eux, ces thèmes afficheront des symboles d'invite étranges. Consultez la FAQ pour plus d'informations.
Sachez également que les thèmes contrôlent uniquement l’apparence de votre invite. Il s'agit du texte que vous voyez avant ou après votre curseur, où vous saisirez vos commandes. Les thèmes ne contrôlent pas des éléments tels que les couleurs de la fenêtre de votre terminal (appelées palette de couleurs ) ou la police de votre terminal. Ce sont des paramètres que vous pouvez modifier dans votre émulateur de terminal. Pour plus d’informations, consultez qu’est-ce qu’un thème zsh.
Ouvrez une nouvelle fenêtre de terminal et votre invite devrait ressembler à ceci :
Si vous n'avez pas trouvé de thème adapté à vos besoins, veuillez consulter le wiki pour en savoir plus.
Si vous vous sentez courageux, vous pouvez laisser l'ordinateur en sélectionner un au hasard pour vous chaque fois que vous ouvrez une nouvelle fenêtre de terminal.
ZSH_THEME= " random " # (...please let it be pie... please be some pie..)
Et si vous souhaitez choisir un thème au hasard dans une liste de vos thèmes préférés :
ZSH_THEME_RANDOM_CANDIDATES=(
" robbyrussell "
" agnoster "
)
Si vous savez seulement quels thèmes vous n'aimez pas, vous pouvez les ajouter de la même manière à une liste ignorée :
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
Si vous avez d'autres questions ou problèmes, vous trouverez peut-être une solution dans notre FAQ.
Si vous êtes du genre à aimer mettre la main à la pâte, ces sections pourraient trouver un écho.
Certains utilisateurs peuvent souhaiter installer manuellement Oh My Zsh, ou modifier le chemin par défaut ou d'autres paramètres acceptés par le programme d'installation (ces paramètres sont également documentés en haut du script d'installation).
L'emplacement par défaut est ~/.oh-my-zsh
(caché dans votre répertoire personnel, vous pouvez y accéder avec cd ~/.oh-my-zsh
)
Si vous souhaitez modifier le répertoire d'installation avec la variable d'environnement ZSH
, soit en exécutant export ZSH=/your/path
avant l'installation, soit en le définissant avant la fin du pipeline d'installation comme ceci :
ZSH= " $HOME /.dotfiles/oh-my-zsh " sh install.sh
Si vous exécutez le script d'installation Oh My Zsh dans le cadre d'une installation automatisée, vous pouvez transmettre l'indicateur --unattended
au script install.sh
. Cela aura pour effet de ne pas essayer de modifier le shell par défaut et de ne pas exécuter zsh
une fois l'installation terminée.
sh -c " $( curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh ) " " " --unattended
Si vous êtes en Chine, en Inde ou dans un autre pays qui bloque raw.githubusercontent.com
, vous devrez peut-être remplacer l'URL par https://install.ohmyz.sh
pour l'installer.
Le script d'installation accepte également ces variables pour permettre l'installation d'un référentiel différent :
REPO
(par défaut : ohmyzsh/ohmyzsh
) : cela prend la forme owner/repository
. Si vous définissez cette variable, le programme d'installation recherchera un référentiel sur https://github.com/{owner}/{repository}
.
REMOTE
(par défaut : https://github.com/${REPO}.git
) : il s'agit de l'URL complète du clone du référentiel git. Vous pouvez utiliser ce paramètre si vous souhaitez installer à partir d'un fork qui n'est pas sur GitHub (GitLab, Bitbucket...) ou si vous souhaitez cloner avec SSH au lieu de HTTPS ( [email protected]:user/project.git
) .
REMARQUE : c'est incompatible avec la définition de la variable REPO
. Ce paramètre sera prioritaire.
BRANCH
(par défaut : master
) : vous pouvez utiliser ce paramètre si vous souhaitez modifier la branche par défaut à extraire lors du clonage du référentiel. Cela peut être utile pour tester une Pull Request ou si vous souhaitez utiliser une branche autre que master
.
Par exemple:
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~ /.oh-my-zsh
~/.zshrc
existant cp ~ /.zshrc ~ /.zshrc.orig
Vous pouvez créer un nouveau fichier de configuration zsh en copiant le modèle que nous avons inclus pour vous.
cp ~ /.oh-my-zsh/templates/zshrc.zsh-template ~ /.zshrc
chsh -s $( which zsh )
Vous devez vous déconnecter de votre session utilisateur et vous reconnecter pour voir ce changement.
Une fois que vous ouvrez une nouvelle fenêtre de terminal, elle devrait charger zsh avec la configuration d'Oh My Zsh.
Si vous rencontrez des problèmes lors de l'installation, voici quelques correctifs courants.
PATH
dans ~/.zshrc
si vous ne parvenez pas à trouver certaines commandes après être passé à oh-my-zsh
.ZSH
dans ~/.zshrc
. Si vous souhaitez remplacer l'un des comportements par défaut, ajoutez simplement un nouveau fichier (se terminant par .zsh
) dans le répertoire custom/
.
Si vous avez de nombreuses fonctions qui vont bien ensemble, vous pouvez les placer sous forme de fichier XYZ.plugin.zsh
dans le répertoire custom/plugins/
, puis activer ce plugin.
Si vous souhaitez remplacer les fonctionnalités d'un plugin distribué avec Oh My Zsh, créez un plugin du même nom dans le répertoire custom/plugins/
et il sera chargé à la place de celui dans plugins/
.
Le comportement par défaut dans Oh My Zsh consiste à utiliser BSD ls
dans les systèmes macOS et FreeBSD. Si GNU ls
est installé (en tant que commande gls
), vous pouvez choisir de l'utiliser à la place. Pour ce faire, vous pouvez utiliser une configuration basée sur zstyle avant de rechercher oh-my-zsh.sh
:
zstyle ' :omz:lib:theme-and-appearance ' gnu-ls yes
Remarque : ceci n'est pas compatible avec DISABLE_LS_COLORS=true
Si vous souhaitez ignorer les alias Oh My Zsh par défaut (ceux définis dans les fichiers lib/*
) ou les alias de plugin, vous pouvez utiliser les paramètres ci-dessous dans votre fichier ~/.zshrc
, avant le chargement d'Oh My Zsh . Notez qu'il existe de nombreuses façons différentes d'ignorer les alias, en fonction de vos besoins.
# Skip all aliases, in lib files and enabled plugins
zstyle ' :omz:* ' aliases no
# Skip all aliases in lib files
zstyle ' :omz:lib:* ' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ' :omz:lib:directories ' aliases no
# Skip all plugin aliases
zstyle ' :omz:plugins:* ' aliases no
# Skip only the aliases from the git plugin
zstyle ' :omz:plugins:git ' aliases no
Vous pouvez les combiner d'autres manières en tenant compte du fait que des portées plus spécifiques sont prioritaires :
# Skip all plugin aliases, except for the git plugin
zstyle ' :omz:plugins:* ' aliases no
zstyle ' :omz:plugins:git ' aliases yes
Une version précédente de cette fonctionnalité utilisait le paramètre ci-dessous, qui a été supprimé :
zstyle ' :omz:directories ' aliases no
Au lieu de cela, vous pouvez maintenant utiliser ce qui suit :
zstyle ' :omz:lib:directories ' aliases no
Cette fonctionnalité est actuellement en phase de test et pourrait être sujette à changement dans le futur. Il n'est pas non plus actuellement compatible avec les gestionnaires de plugins tels que zpm ou zinit, qui ne fournissent pas le script d'initialisation (
oh-my-zsh.sh
) dans lequel cette fonctionnalité est implémentée.
Il ne connaît pas non plus actuellement les « alias » définis en tant que fonctions. Des exemples en sont les fonctions
gccd
,ggf
ouggl
du plugin git.
Les fonctions d'invite asynchrone sont une fonctionnalité expérimentale (incluse le 3 avril 2024) qui permet à Oh My Zsh d'afficher les informations d'invite de manière asynchrone. Cela peut améliorer les performances de rendu rapide, mais cela peut ne pas fonctionner correctement avec certaines configurations. Nous espérons que ce n'est pas un problème, mais si vous rencontrez des problèmes avec cette nouvelle fonctionnalité, vous pouvez la désactiver en définissant ce qui suit dans votre fichier .zshrc, avant que Oh My Zsh ne soit source :
zstyle ' :omz:alpha:lib:git ' async-prompt no
Si votre problème est que l'invite git vient de cesser d'apparaître, vous pouvez essayer de la forcer à définir la configuration suivante avant que oh-my-zsh.sh
ne soit recherché. Si cela ne fonctionne toujours pas, veuillez ouvrir un problème avec votre cas.
zstyle ' :omz:alpha:lib:git ' async-prompt force
Par défaut, vous serez invité à vérifier les mises à jour toutes les 2 semaines. Vous pouvez choisir d'autres modes de mise à jour en ajoutant une ligne à votre fichier ~/.zshrc
, avant le chargement d'Oh My Zsh :
Mise à jour automatique sans invite de confirmation :
zstyle ' :omz:update ' mode auto
Proposez simplement un rappel tous les quelques jours, si des mises à jour sont disponibles :
zstyle ' :omz:update ' mode reminder
Pour désactiver complètement les mises à jour automatiques :
zstyle ' :omz:update ' mode disabled
REMARQUE : vous pouvez contrôler la fréquence à laquelle Oh My Zsh recherche les mises à jour avec le paramètre suivant :
# This will check for updates every 7 days
zstyle ' :omz:update ' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ' :omz:update ' frequency 0
Vous pouvez également limiter la verbosité des mises à jour avec les paramètres suivants :
zstyle ' :omz:update ' verbose default # default update prompt
zstyle ' :omz:update ' verbose minimal # only few lines
zstyle ' :omz:update ' verbose silent # only errors
Si vous souhaitez mettre à jour à tout moment (peut-être que quelqu'un vient de publier un nouveau plugin et que vous ne voulez pas attendre une semaine ?), il vous suffit d'exécuter :
omz update
Magie! ?
Oh My Zsh n'est pas pour tout le monde. Tu vas nous manquer, mais nous voulons que cette rupture soit facile.
Si vous souhaitez désinstaller oh-my-zsh
, exécutez simplement uninstall_oh_my_zsh
à partir de la ligne de commande. Il se supprimera et rétablira votre configuration bash
ou zsh
précédente.
Avant de participer à notre charmante communauté, veuillez lire le code de conduite.
Je suis loin d'être un expert de Zsh et je pense qu'il existe de nombreuses façons de s'améliorer – si vous avez des idées sur la façon de rendre la configuration plus facile à maintenir (et plus rapide), n'hésitez pas à forker et à envoyer des pull request !
Nous avons également besoin de personnes pour tester les pull request. Alors jetez un œil aux problèmes en suspens et aidez là où vous le pouvez.
Voir Contribuer pour plus de détails.
Nous avons (plus que) suffisamment de thèmes pour le moment. Veuillez ajouter votre thème à la page wiki des thèmes externes.
Oh My Zsh possède une communauté dynamique d'utilisateurs satisfaits et de charmants contributeurs. Sans tout le temps et l'aide de nos contributeurs, cela ne serait pas si génial.
Merci beaucoup!
Nous sommes sur les réseaux sociaux :
Nous avons des autocollants, des chemises et des tasses à café à votre disposition pour montrer votre amour pour Oh My Zsh. Encore une fois, vous deviendrez le sujet de conversation de la ville !
Oh My Zsh est publié sous licence MIT.
Oh My Zsh a été lancé par l'équipe de Planet Argon, une agence de développement Ruby on Rails. Découvrez nos autres projets open source.