Oh My Zsh ist ein von der Community betriebenes Open-Source-Framework zur Verwaltung Ihrer ZSH-Konfiguration.
Klingt langweilig. Versuchen wir es noch einmal.
Oh My Zsh wird Sie nicht zu einem 10-fachen Entwickler machen ... aber Sie fühlen sich vielleicht wie einer.
Nach der Installation wird Ihr Terminal-Shell zum Gesprächsthema in der Stadt – oder Sie erhalten Ihr Geld zurück! Mit jedem Tastendruck in Ihrer Eingabeaufforderung profitieren Sie von den Hunderten leistungsstarken Plugins und schönen Designs. In Cafés kommen Fremde auf dich zu und fragen dich: „Das ist großartig! Bist du eine Art Genie?“
Endlich werden Sie beginnen, die Art von Aufmerksamkeit zu bekommen, die Sie Ihrer Meinung nach immer verdient haben. ...oder vielleicht nutzen Sie die Zeit, die Sie sparen, um öfter mit Zahnseide zu beginnen. ?
Um mehr zu erfahren, besuchen Sie ohmyz.sh, folgen Sie @ohmyzsh auf X (ehemals Twitter) und besuchen Sie uns auf Discord.
O/S | Status |
---|---|
Android | ✅ |
freeBSD | ✅ |
LCARS | ? |
Linux | ✅ |
macOS | ✅ |
OS/2 Warp | |
Windows (WSL2) | ✅ |
zsh --version
aus), lesen Sie die folgenden Wiki-Anweisungen hier: ZSH installierencurl
oder wget
sollten installiert seingit
sollte installiert sein (empfohlen v2.4.11 oder höher) Oh My Zsh wird installiert, indem Sie einen der folgenden Befehle in Ihrem Terminal ausführen. Sie können dies über die Befehlszeile entweder mit curl
, wget
oder einem anderen ähnlichen Tool installieren.
Verfahren | Befehl |
---|---|
Locken | 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)" |
bringen | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Alternativ wird der Installer auch außerhalb von GitHub gespiegelt. Die Verwendung dieser URL kann stattdessen erforderlich sein, wenn Sie sich in einem Land wie China oder Indien (für bestimmte ISPs) befinden, das raw.githubusercontent.com
blockiert:
Verfahren | Befehl |
---|---|
Locken | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
wget | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
bringen | sh -c "$(fetch -o - https://install.ohmyz.sh/)" |
Beachten Sie, dass alle vorherigen .zshrc
in .zshrc.pre-oh-my-zsh
umbenannt werden. Nach der Installation können Sie die Konfiguration, die Sie beibehalten möchten, in die neue .zshrc
verschieben.
Es empfiehlt sich, das Installationsskript von Projekten zu überprüfen, die Sie noch nicht kennen. Sie können dies tun, indem Sie zuerst das Installationsskript herunterladen, es durchsehen, damit alles normal aussieht, und es dann ausführen:
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
Wenn die oben genannte URL abläuft oder aus anderen Gründen fehlschlägt, müssen Sie möglicherweise die URL durch https://install.ohmyz.sh
ersetzen, um das Skript abzurufen.
Oh My Zsh enthält jede Menge Plugins, die Sie nutzen können. Sie können im Plugins-Verzeichnis und/oder im Wiki nachsehen, was derzeit verfügbar ist.
Sobald Sie ein Plugin (oder mehrere) entdecken, das Sie mit Oh My Zsh verwenden möchten, müssen Sie es in der .zshrc
Datei aktivieren. Sie finden die zshrc-Datei in Ihrem $HOME
Verzeichnis. Öffnen Sie es mit Ihrem bevorzugten Texteditor und Sie sehen eine Stelle, an der alle Plugins aufgelistet werden, die Sie laden möchten.
vi ~ /.zshrc
Dies könnte beispielsweise so aussehen:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
Beachten Sie, dass die Plugins durch Leerzeichen (Leerzeichen, Tabulatoren, neue Zeilen...) getrennt sind. Verwenden Sie keine Kommas dazwischen, sonst wird es unterbrochen.
Jedes integrierte Plugin enthält eine README-Datei , die es dokumentiert. Diese README-Datei sollte die Aliase (falls das Plugin welche hinzufügt) und zusätzliche Extras zeigen, die in diesem bestimmten Plugin enthalten sind.
Wir werden es zugeben. Zu Beginn der Oh My Zsh-Welt waren wir vielleicht etwas zu themenfreudig. Wir haben mittlerweile über 150 Themen gebündelt. Von den meisten davon gibt es Screenshots im Wiki (wir arbeiten daran, diese zu aktualisieren!). Schauen Sie sie sich an!
Robbys Thema ist das Standardthema. Es ist nicht das schickste. Es ist nicht die einfachste. Es ist genau das Richtige (für ihn).
Sobald Sie ein Thema gefunden haben, das Sie verwenden möchten, müssen Sie die Datei ~/.zshrc
bearbeiten. Dort sehen Sie eine Umgebungsvariable (in Großbuchstaben), die wie folgt aussieht:
ZSH_THEME= " robbyrussell "
Um ein anderes Thema zu verwenden, ändern Sie einfach den Wert, sodass er mit dem Namen Ihres gewünschten Themas übereinstimmt. Zum Beispiel:
ZSH_THEME= " agnoster " # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
Notiz
Sie werden oft Screenshots für ein ZSH-Theme sehen, es ausprobieren und feststellen, dass es für Sie nicht gleich aussieht.
Dies liegt daran, dass für die ordnungsgemäße Darstellung vieler Themes die Installation einer Powerline-Schriftart oder einer Nerd-Schriftart erforderlich ist. Ohne sie werden diese Themen seltsame Eingabeaufforderungssymbole darstellen. Weitere Informationen finden Sie in den FAQ.
Beachten Sie außerdem, dass Themen nur steuern, wie Ihre Eingabeaufforderung aussieht. Dabei handelt es sich um den Text, den Sie vor oder nach Ihrem Cursor sehen und in den Sie Ihre Befehle eingeben. Themen steuern keine Dinge wie die Farben Ihres Terminalfensters (bekannt als Farbschema ) oder die Schriftart Ihres Terminals. Dies sind Einstellungen, die Sie in Ihrem Terminalemulator ändern können. Weitere Informationen finden Sie unter Was ist ein ZSH-Thema?
Öffnen Sie ein neues Terminalfenster und Ihre Eingabeaufforderung sollte etwa so aussehen:
Falls Sie kein passendes Theme für Ihre Bedürfnisse gefunden haben, schauen Sie sich bitte das Wiki an, um weitere davon zu finden.
Wenn Sie Lust haben, können Sie den Computer jedes Mal, wenn Sie ein neues Terminalfenster öffnen, eine zufällige Auswahl für Sie treffen lassen.
ZSH_THEME= " random " # (...please let it be pie... please be some pie..)
Und wenn Sie ein zufälliges Thema aus einer Liste Ihrer Lieblingsthemen auswählen möchten:
ZSH_THEME_RANDOM_CANDIDATES=(
" robbyrussell "
" agnoster "
)
Wenn Sie nur wissen, welche Themen Ihnen nicht gefallen, können Sie diese auf ähnliche Weise zu einer ignorierten Liste hinzufügen:
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
Wenn Sie weitere Fragen oder Probleme haben, finden Sie möglicherweise eine Lösung in unseren FAQ.
Wenn Sie der Typ sind, der sich gerne die Hände schmutzig macht, könnten diese Abschnitte Anklang finden.
Einige Benutzer möchten Oh My Zsh möglicherweise manuell installieren oder den Standardpfad oder andere Einstellungen ändern, die das Installationsprogramm akzeptiert (diese Einstellungen werden auch oben im Installationsskript dokumentiert).
Der Standardspeicherort ist ~/.oh-my-zsh
(versteckt in Ihrem Home-Verzeichnis, Sie können mit cd ~/.oh-my-zsh
darauf zugreifen)
Wenn Sie das Installationsverzeichnis mit der ZSH
Umgebungsvariablen ändern möchten, führen Sie entweder export ZSH=/your/path
vor der Installation aus oder legen Sie es vor dem Ende der Installationspipeline wie folgt fest:
ZSH= " $HOME /.dotfiles/oh-my-zsh " sh install.sh
Wenn Sie das Oh My Zsh-Installationsskript als Teil einer automatisierten Installation ausführen, können Sie das Flag --unattended
an das install.sh
-Skript übergeben. Dies führt dazu, dass nicht versucht wird, die Standard-Shell zu ändern, und zsh
nach Abschluss der Installation nicht ausgeführt wird.
sh -c " $( curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh ) " " " --unattended
Wenn Sie sich in China, Indien oder einem anderen Land befinden, das raw.githubusercontent.com
blockiert, müssen Sie zur Installation möglicherweise die URL durch https://install.ohmyz.sh
ersetzen.
Das Installationsskript akzeptiert auch diese Variablen, um die Installation eines anderen Repositorys zu ermöglichen:
REPO
(Standard: ohmyzsh/ohmyzsh
): Dies hat die Form „ owner/repository
. Wenn Sie diese Variable festlegen, sucht das Installationsprogramm unter https://github.com/{owner}/{repository}
nach einem Repository.
REMOTE
(Standard: https://github.com/${REPO}.git
): Dies ist die vollständige URL des Git-Repository-Klons. Sie können diese Einstellung verwenden, wenn Sie von einem Fork installieren möchten, der nicht auf GitHub (GitLab, Bitbucket...) ist, oder wenn Sie mit SSH statt HTTPS klonen möchten ( [email protected]:user/project.git
). .
HINWEIS: Es ist nicht mit dem Festlegen der REPO
Variablen kompatibel. Diese Einstellung hat Vorrang.
BRANCH
(Standard: master
): Sie können diese Einstellung verwenden, wenn Sie den Standardzweig ändern möchten, der beim Klonen des Repositorys ausgecheckt werden soll. Dies kann zum Testen einer Pull-Anfrage nützlich sein oder wenn Sie einen anderen Zweig als master
verwenden möchten.
Zum Beispiel:
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~ /.oh-my-zsh
~/.zshrc
Datei sichern cp ~ /.zshrc ~ /.zshrc.orig
Sie können eine neue ZSH-Konfigurationsdatei erstellen, indem Sie die Vorlage kopieren, die wir für Sie bereitgestellt haben.
cp ~ /.oh-my-zsh/templates/zshrc.zsh-template ~ /.zshrc
chsh -s $( which zsh )
Sie müssen sich von Ihrer Benutzersitzung abmelden und erneut anmelden, um diese Änderung zu sehen.
Sobald Sie ein neues Terminalfenster öffnen, sollte zsh mit der Konfiguration von Oh My Zsh geladen werden.
Wenn bei der Installation Probleme auftreten, finden Sie hier einige häufige Lösungen.
PATH
in ~/.zshrc
ändern, wenn Sie nach dem Wechsel zu oh-my-zsh
einige Befehle nicht finden können.ZSH
Umgebungsvariable in ~/.zshrc
. Wenn Sie eines der Standardverhalten überschreiben möchten, fügen Sie einfach eine neue Datei (mit der Endung .zsh
) im Verzeichnis custom/
hinzu.
Wenn Sie viele Funktionen haben, die gut zusammenpassen, können Sie diese als XYZ.plugin.zsh
Datei im Verzeichnis custom/plugins/
ablegen und dann dieses Plugin aktivieren.
Wenn Sie die Funktionalität eines mit Oh My Zsh vertriebenen Plugins überschreiben möchten, erstellen Sie ein gleichnamiges Plugin im Verzeichnis custom/plugins/
und es wird anstelle des Plugins in plugins/
geladen.
Das Standardverhalten in Oh My Zsh ist die Verwendung von BSD ls
in macOS- und FreeBSD-Systemen. Wenn GNU ls
installiert ist (als gls
-Befehl), können Sie es stattdessen verwenden. Dazu können Sie die zstyle-basierte Konfiguration verwenden, bevor Sie oh-my-zsh.sh
beziehen:
zstyle ' :omz:lib:theme-and-appearance ' gnu-ls yes
Hinweis: Dies ist nicht kompatibel mit DISABLE_LS_COLORS=true
Wenn Sie standardmäßige Oh My Zsh-Aliase (die in lib/*
Dateien definiert sind) oder Plugin-Aliase überspringen möchten, können Sie die folgenden Einstellungen in Ihrer ~/.zshrc
Datei verwenden, bevor Oh My Zsh geladen wird . Beachten Sie, dass es je nach Bedarf viele verschiedene Möglichkeiten gibt, Aliase zu überspringen.
# 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
Sie können diese auf andere Weise kombinieren, wobei zu berücksichtigen ist, dass spezifischere Bereiche Vorrang haben:
# Skip all plugin aliases, except for the git plugin
zstyle ' :omz:plugins:* ' aliases no
zstyle ' :omz:plugins:git ' aliases yes
Eine frühere Version dieser Funktion verwendete die folgende Einstellung, die entfernt wurde:
zstyle ' :omz:directories ' aliases no
Stattdessen können Sie jetzt Folgendes verwenden:
zstyle ' :omz:lib:directories ' aliases no
Diese Funktion befindet sich derzeit in der Testphase und kann in Zukunft geändert werden. Es ist derzeit auch nicht mit Plugin-Managern wie zpm oder zinit kompatibel, die nicht über das Init-Skript (
oh-my-zsh.sh
) verfügen, in dem diese Funktion implementiert ist.
Es sind derzeit auch keine „Aliase“ bekannt, die als Funktionen definiert sind. Beispiele hierfür sind
gccd
,ggf
oderggl
-Funktionen aus dem Git-Plugin.
Asynchrone Eingabeaufforderungsfunktionen sind eine experimentelle Funktion (enthalten am 3. April 2024), die es Oh My Zsh ermöglicht, Eingabeaufforderungsinformationen asynchron darzustellen. Dies kann die Leistung des sofortigen Renderns verbessern, funktioniert jedoch bei manchen Setups möglicherweise nicht gut. Wir hoffen, dass das kein Problem darstellt, aber wenn Sie Probleme mit dieser neuen Funktion feststellen, können Sie sie deaktivieren, indem Sie Folgendes in Ihrer .zshrc-Datei festlegen, bevor Oh My Zsh als Quelle bereitgestellt wird:
zstyle ' :omz:alpha:lib:git ' async-prompt no
Wenn Ihr Problem darin besteht, dass die Git-Eingabeaufforderung einfach nicht mehr angezeigt wird, können Sie versuchen, die Einstellung der folgenden Konfiguration zu erzwingen, bevor oh-my-zsh.sh
als Quelle bereitgestellt wird. Wenn es immer noch nicht funktioniert, eröffnen Sie bitte ein Problem mit Ihrem Fall.
zstyle ' :omz:alpha:lib:git ' async-prompt force
Standardmäßig werden Sie alle zwei Wochen aufgefordert, nach Updates zu suchen. Sie können andere Aktualisierungsmodi auswählen, indem Sie Ihrer ~/.zshrc
Datei eine Zeile hinzufügen, bevor Oh My Zsh geladen wird :
Automatisches Update ohne Sicherheitsabfrage:
zstyle ' :omz:update ' mode auto
Bieten Sie einfach alle paar Tage eine Erinnerung an, wenn Updates verfügbar sind:
zstyle ' :omz:update ' mode reminder
So deaktivieren Sie automatische Updates vollständig:
zstyle ' :omz:update ' mode disabled
HINWEIS: Mit der folgenden Einstellung können Sie steuern, wie oft Oh My Zsh nach Updates sucht:
# 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
Sie können die Update-Ausführlichkeit auch mit den folgenden Einstellungen einschränken:
zstyle ' :omz:update ' verbose default # default update prompt
zstyle ' :omz:update ' verbose minimal # only few lines
zstyle ' :omz:update ' verbose silent # only errors
Wenn Sie zu irgendeinem Zeitpunkt ein Update durchführen möchten (vielleicht hat jemand gerade ein neues Plugin veröffentlicht und Sie möchten nicht eine Woche warten?), müssen Sie nur Folgendes ausführen:
omz update
Magie! ?
Oh My Zsh ist nicht jedermanns Sache. Wir werden dich vermissen, aber wir möchten, dass die Trennung so einfach wie möglich verläuft.
Wenn Sie oh-my-zsh
deinstallieren möchten, führen Sie einfach uninstall_oh_my_zsh
über die Befehlszeile aus. Es wird sich selbst entfernen und Ihre vorherige bash
oder zsh
-Konfiguration zurücksetzen.
Bevor Sie Teil unserer wunderbaren Community werden, lesen Sie bitte den Verhaltenskodex.
Ich bin alles andere als ein Zsh-Experte und vermute, dass es viele Möglichkeiten zur Verbesserung gibt – wenn Sie Ideen haben, wie Sie die Konfiguration einfacher (und schneller) warten können, zögern Sie nicht, einen Fork durchzuführen und Pull-Anfragen zu senden!
Wir brauchen auch Leute, die Pull-Requests testen. Schauen Sie sich also die offenen Fragen an und helfen Sie, wo Sie können.
Weitere Einzelheiten finden Sie unter Mitwirken.
Wir haben vorerst (mehr als) genug Themen. Bitte fügen Sie Ihr Theme zur Wiki-Seite für externe Themes hinzu.
Oh My Zsh hat eine lebendige Community aus zufriedenen Benutzern und wunderbaren Mitwirkenden. Ohne die Zeit und Hilfe unserer Mitwirkenden wäre es nicht so großartig.
Vielen Dank!
Wir sind in den sozialen Medien:
Wir haben Aufkleber, T-Shirts und Kaffeetassen für Sie im Angebot, mit denen Sie Ihre Liebe zu Oh My Zsh zum Ausdruck bringen können. Auch hier werden Sie zum Stadtgespräch!
Oh My Zsh wird unter der MIT-Lizenz veröffentlicht.
Oh My Zsh wurde vom Team von Planet Argon, einer Ruby on Rails-Entwicklungsagentur, ins Leben gerufen. Schauen Sie sich unsere anderen Open-Source-Projekte an.