Tutorial: Einrichten einer benutzerdefinierten Eingabeaufforderung für PowerShell oder WSL mit Oh My Posh
Oh My Posh bietet Designfunktionen für eine vollständig angepasste Eingabeaufforderungsumgebung, die Git-Status-Farbcodierung und Eingabeaufforderungen bereitstellt.
Wenn Sie nur die Farbschemas oder die Darstellung Ihres Terminals anpassen möchten, können Sie dies in den Windows-Terminal Einstellungen tun (ohne die Oh My Posh Designs installieren zu müssen).
In diesem Tutorial lernen Sie Folgendes:
Installieren einer Nerd-Schriftart
Angepasste Eingabeaufforderungen verwenden häufig Glyphen (ein Grafiksymbol), um die Eingabeaufforderung zu formatieren. Wenn Ihre Schriftart die entsprechenden Glyphen nicht enthält, werden möglicherweise mehrere Unicode-Ersetzungszeichen "▯" in Ihrer Eingabeaufforderung angezeigt.
Um alle Glyphen in Ihrem Terminal anzuzeigen, empfehlen wir die Installation einer Nerd-Schriftart wie Cascadia Code NF, die von der Cascadia Code Release-Seite heruntergeladen werden kann.
Nach dem Herunterladen müssen Sie die Schriftart entzippen und auf Ihrem System installieren. (Hinzufügen einer neuen Schriftart zu Windows).
Um für Oh My Posh und Terminal-Icons eine Nerd-Schriftart einzustellen, müssen Sie die Benutzeroberfläche der Windows-Terminal-Einstellungen öffnen, indem Sie im Dropdownmenü Ihres Windows-Terminals Einstellungen (Strg+) auswählen. Wählen Sie das Profil aus, in dem Sie die Schriftart anwenden möchten (z. B. PowerShell), und wählen Sie dann "Darstellung" aus. Wählen Sie im Dropdownmenü "Schriftart" die Option Cascadia Code NF oder je nachdem, welche Schriftart Sie verwenden möchten.
Hinweis
Wenn Sie eine Terminalschriftart verwenden möchten, die keine Glyphensymbole unterstützt, z . B. Cascadia Code PL, sollten Sie ein Oh My Posh-Design verwenden, das die minimal
Funktion enthält und angibt, dass keine zusätzlichen Symbole erforderlich sind.
Anpassen der PowerShell-Eingabeaufforderung mit Oh My Posh
Durch Oh My Posh steht Ihnen ein vollständiger Farbsatz für die Definition und das Rendering Ihrer Terminaleingabeaufforderung zur Verfügung. Außerdem haben Sie die Möglichkeit, integrierte Designs zu verwenden oder ein eigenes benutzerdefiniertes Design zu erstellen.
Installieren von Oh My Posh für PowerShell
Um Ihre PowerShell-Eingabeaufforderung anzupassen, installieren Sie Oh My Posh mit Winget, wodurch Folgendes installiert wird:
oh-my-posh.exe
: Ausführbare Windows-Dateithemes
: Die aktuellsten Oh My Posh-Designs
Um die Installation zu starten, geben Sie den Befehl ein:
winget install JanDeDobbeleer.OhMyPosh
Sie müssen den Quellbedingungen zustimmen. Es kann der Fall auftreten, dass mehr als ein Paket verfügbar ist. Wählen Sie in diesem Fall die Paket-ID aus, die Sie verwenden möchten, und geben Sie den Befehl erneut ein: winget install <package ID>
.
Um die Microsoft Store-Version von Oh My Posh zu verwenden, die automatisch aktualisiert wird, wenn neue Versionen verfügbar sind, verwenden Sie den Befehl:
winget install XP8K0HKJFRXGCK
Geben Sie oh-my-posh version
ein, um die Versionsnummer Ihrer Oh My Posh-Installation zu bestätigen. Sie können den folgenden Befehl verwenden, um sicherzustellen, dass Sie über die neuesten Updates verfügen: winget upgrade oh-my-posh
.
Hinweis
Wenn Sie die neueste Version von Oh My Posh in PowerShell installieren möchten, ist es sinnvoll, zuerst die zwischengespeicherten Dateien des OMP-Moduls zu entfernen und das alte Modul zu deinstallieren. Anweisungen dazu finden Sie in der Oh My Posh-Dokumentation. Wenn Sie besser mit dem Scoop-Installationsprogramm oder einer manuellen Installationsmethode, die Automatisierung ermöglicht, vertraut sind, können Sie auch diese für die Installation unter Windows verwenden. Befolgen Sie dazu einfach die Anweisungen in der Oh My Posh Dokumentation.
Auswählen und Anwenden eines PowerShell-Eingabeaufforderungsdesigns
Sie können die vollständige Liste der Designs auf der Seite Oh My Posh-Designs durchsuchen.
Wählen Sie ein Design aus und aktualisieren Sie Ihr PowerShell-Profil mit diesem Befehl. (Sie können notepad
mit einem Text-Editor Ihrer Wahl ersetzen.)
notepad $PROFILE
Wenn Sie eine Pfadfehlermeldung erhalten, haben Sie möglicherweise noch kein Profil für PowerShell. Erstellen Sie ein Profil mit dem folgenden PowerShell-Befehl, und versuchen Sie dann, es mit einem Text-Editor zu öffnen.
new-item -type file -path $profile -force
Fügen Sie in Ihrem PowerShell-Profil am Ende der Datei Folgendes hinzu, um das Design paradox
festzulegen: (Ersetzen Sie paradox
durch das Design Ihrer Wahl.)
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\paradox.omp.json" | Invoke-Expression
Jetzt beginnt jede neue PowerShell-Instanz, indem Sie Oh My Posh importieren und Ihr Design festlegen.
Wenn beim Versuch, eine neue PowerShell-Instanz zu öffnen, ein Skriptfehler gemeldet wird, ist ihre Ausführungsrichtlinie für PowerShell möglicherweise eingeschränkt. Um die PowerShell-Ausführungsrichtlinie auf uneingeschränkt festzulegen, müssen Sie PowerShell als Administrator starten und dann den folgenden Befehl verwenden:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Hinweis
Dabei handelt es sich nicht um Ihr Windows Terminal-Profil. Ihr PowerShell-Profil ist ein Skript, das bei jedem Start von PowerShell ausgeführt wird. Weitere Informationen zu PowerShell-Profilen.
Tipp
Antworten auf häufig gestellte Fragen oder Probleme finden Sie unter Oh My Posh. Weitere Informationen zu Konfiguration und allgemeinen Einstellungen, z. B. zum Wiederherstellen des aktuellen Arbeitsverzeichnisses, finden Sie in der „Oh My Posh“-Dokumentation.
Anpassen der WSL-Eingabeaufforderung mit Oh My Posh
Oh My Posh ermöglicht ihnen auch das Anpassen von WSL-Eingabeaufforderungen mit integrierten Designs.
Installieren von Oh My Posh für WSL
Es wird empfohlen, Oh My Posh für WSL anhand des Linux-Installationsleitfadens in der Oh My Posh-Dokumentation zu installieren, unabhängig davon, ob Bash, Zsh oder etwa anderes zum Einsatz kommt.
Das Anpassen von WSL-Eingabeaufforderungen mit Oh My Posh verwendet den Homebrew-Paket-Manager für die Installation. Befolgen Sie beim Installieren von Homebrew für Linux unbedingt die Anweisungen unter Nächste Schritte, um Homebrew Ihrer PATH-Umgebungsvariablen und Ihrem Bash-Shellprofilskript hinzuzufügen.
Homebrew installiert Folgendes:
oh-my-posh
: Ausführbare Datei, hinzugefügt unter /usr/local/binthemes
: Die aktuellsten Oh My Posh-Designs
Auswählen und Anwenden eines WSL-Eingabeaufforderungsdesigns
Die Oh My Posh-Designs befinden sich im Verzeichnis „oh-my-posh“ in Form von JSON-Dateien. Sie finden sie, indem Sie cd $(brew --prefix oh-my-posh)
, dann einfach cd themes
und für die Liste ls
eingeben. Für Ubuntu-20.04, wenn es unter WSL ausgeführt wird, lautet der Pfad wahrscheinlich so ähnlich: \\wsl.localhost\Ubuntu-20.04\home\linuxbrew\.linuxbrew\Cellar\oh-my-posh\6.34.1\themes
. Sie können sehen, wie die Designs in den Dokumenten "Oh Meine Posh-Designs" aussehen.
Wenn Sie ein Design verwenden möchten, kopieren Sie es aus dem themes
-Ordner in Ihren $Home
-Ordner, und fügen Sie dann diese Zeile am Ende der Datei .profile
in Ihrem $Home
-Ordner hinzu:
eval "$(oh-my-posh init bash --config ~/jandedobbeleer.omp.json)"
Sie können den Namen des designs ersetzen jandedobbeleer.omp.json
, das Sie verwenden möchten (stellen Sie einfach sicher, dass es in Ihren $Home
Ordner kopiert wird).
Wenn Sie oh-my-posh sowohl unter Windows mit PowerShell als auch mit WSL verwenden, können Sie alternativ Ihr PowerShell-Design für WSL freigeben, indem Sie auf ein Design in Ihrem Benutzer-Basisordner verweisen. Ersetzen Sie im .profile
-Pfad Ihrer WSL-Distribution „~“ durch den Pfad /mnt/c/Users/<WINDOWSUSERNAME>
. Ersetzen Sie <WINDOWSUSERNAME>
durch Ihren eigenen Windows-Benutzernamen.
Bei Bedarf können Sie die Oh My Posh-Designs anpassen.
Verwenden von Terminal-Icons zum Hinzufügen fehlender Ordner- oder Dateisymbole
Terminal-Icons ist ein PowerShell-Modul, das Datei- und Ordnersymbole hinzufügt, die beim Anzeigen von Dateien oder Ordnern in Windows-Terminal möglicherweise fehlen. Dabei wird anhand des Namens oder der Erweiterung nach dem entsprechenden Symbol gesucht. Es wird versucht, Symbole für bekannte Dateien/Ordner zu verwenden, wenn aber keines gefunden wird, erfolgt der Rückgriff auf ein generisches Datei- oder Ordnersymbol.
Verwenden Sie den folgenden Befehl, um Terminal-Icons in PowerShell zu installieren:
Install-Module -Name Terminal-Icons -Repository PSGallery
Weitere Informationen, einschließlich Verwendung und Befehlen, finden Sie im Terminal-Icons-Repository auf GitHub.
Zusätzliche Ressourcen
- Oh My Posh-Dokumentation
- Terminal-Icons-Repository
- Posh-Git-Dokumentation: Posh-Git ist ein PowerShell-Modul, das Git und PowerShell integriert, indem Git-Statusübersichtsinformationen zur Verfügung gestellt werden, die in der PowerShell-Eingabeaufforderung angezeigt werden können.
- PowerLine-Dokumentation: Powerline ist ein Statusline-Plug-In für vim und stellt Statuslinien und Eingabeaufforderungen für verschiedene andere Anwendungen bereit, einschließlich zsh, bash, tmux, IPython, Awesome, i3 und Qtile.
Windows Terminal