Antigen

Bei der Nutzung der bis hierhin dargestellten Techniken kommt man bald zum Schluss, dass man die effizienten Zsh-Plugin-Techniken nutzen möchte, aber die sehr aufwändige und mächtige Oh-My-Zsh nicht direkt umsetzen möchte.

Im Grunde ist die Oh-My-Zsh ja auch nur eine vollautomatische Vereinfachung zur Bereitstellung von Zsh-Plugins und Themes. Und diese Plugins könnte man auch manuell bereitstellen (sourcen) und man möchte auch Techniken aus anderen Quellen jenseits von Oh-My-Zsh.

Hier ein Quelle zum Blättern: Github unixorn/awesome-zsh-plugins und Themes, …

Also greifen wir zu einem Zsh-Plugin-Manager unserer Wahl und ich entscheide mich für Antigen.

Github zsh-users/antigen

Antigen liegt in vielen Paketverwaltungen vor. Aber man kann auch einfach per curl (oder git clone) die Software bereitstellen.

# cd ~
curl -L git.io/antigen > antigen.zsh
# or use git.io/antigen-nightly for the latest version

Ich lege hier die Antigen-Technik einfach in meinen Home-Ordner. Dann sehe ich auf einen Blick, dass ich Antigen nutze. Das kann man aber natürlich auch abweichend lösen.

Die antigen.zsh muss in unserer .zshrc eingebunden werden.

source /path-to-antigen/antigen.zsh

Danach kann man die gewünschten Zsh-Plugins und Themes per Befehl ansprechen und nutzen lassen.

Hinweis

Hier entfällt auch jedweder manueller Download eines Projekts. Das erledigt der Antigen Bundler.

Befehle für Antigen erhält man per antigen help.

Eine beispielhafte Einbindung mit Antigen in der .zshrc:

# ANTIGEN Solution for Plugins:
# =============================================================================
# https://github.com/zsh-users/antigen
# https://github.com/zsh-users/antigen/wiki/Quick-start
# curl -L git.io/antigen > antigen.zsh
# or use git.io/antigen-nightly for the latest version
source $HOME/antigen.zsh
# antigen commands: antigen help
# =============================================================================
#
antigen use oh-my-zsh
# plugins in:  ~/.antigen/bundles/robbyrussel/oh-my-zsh/...
antigen bundle git
antigen bundle colorize
antigen bundle colored-man-pages
antigen bundle alias-finder
# plugins in: ~/.antigen/bundles/zsh-users/...
antigen bundle zsh-users/zsh-completions
antigen bundle z
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle zsh-users/zsh-autosuggestions

# antigen theme robbyrussell
# look ~/.antigen/bundles/romkatv/...
antigen theme romkatv/powerlevel10k
# apply bundles
antigen apply
# =============================================================================

Die bereitgestellten Plugin- und Themetechniken findet man in ~/.antigen/bundles/....

> ls -Al ~/.antigen/bundles
insgesamt 12
drwxrwxr-x 3 joeb joeb 4096 Aug 11 19:06 robbyrussell
drwxrwxr-x 3 joeb joeb 4096 Aug 12 17:00 romkatv
drwxrwxr-x 5 joeb joeb 4096 Aug 11 19:21 zsh-users

Für das hier dargestellte Beispiel stellen die Ordner die folgenden Techniken bereit.

  • robbyrussel - die Oh-My-Zsh Technik, aber ohne Automatismen!

  • romkatv - das Theme Powerlevel10k

  • zsh-users - Plugins wie zsh-completions, zsh-syntax-highlighting, …

… tbc …