Ich verwende mittlerweile ZSH & EXA auf meinen Kisten (Mac, Windows WSL, Linux), diese Anleitung ist für Ubuntu/Debian.
Was ist ZSH?
Die zsh vereint viele Verbesserungen von bash, ksh und tcsh. Sie ist durch eigene Plugins erweiterbar, besonders gerne mag ich hier die git Erweiterung sowie das Autosuggestions und Syntax Highlighting Modul.
Was ist EXA?
Exa ist ein Ersatz für das bekannte Tool ls welches erweiterte Funktionen besitzt. Erwähnenswert wäre hier die GIT Integration, Farben, Baum und Tabellen Darstellung, usw.
Weitere Infos unter: https://the.exa.website/features
Installation ZSH, EXA und GIT
sudo apt install zsh exa git
Installation oh-my-zsh
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Man kann hier zsh gleich als Default Shell setzen, ich habe das nicht gemacht solange ich beim einrichten der Shell bin.
Zur Installation der weiteren Plugins in die ZSH wechseln mit zsh.
zsh
Installation powerlevel10k
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
Anschließend die ~/.zshrc anpassen und die Variable ZSH_THEME wie folgt setzen:
ZSH_THEME="powerlevel10k/powerlevel10k"
Installation Fonts für Terminal
Ich verwende unter Ubuntu die Nerd Fonts, diese sind erweitert um Icons. Man kann aus dem Repo die Schriften auch einzeln Laden und Installieren, das ist etwas einfacher über die Shell. In meinem Setup verwende ich die Droid Sans Mono Nerd Font, für Shells eignen sich Mono Schriftarten am besten.
git clone --depth 1 https://github.com/ryanoasis/nerd-fonts.git cd nerd-fonts ./install.sh DroidSansMono cd .. rm -rf nerd-fonts
Anschließend im Gnome Terminal in die Einstellungen gehen und die Droid Sans Mono Nerd Font auswählen.
Installation zsh-autosuggestions & zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Die Module müssen in der ~/.zshrc aktiviert werden, dazu muss folgende Variable angepasst werden:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
Anpassen der powerlevel10k Theme
Mit folgendem Kommando wird man durch einen Assistenten geführt um die Shell anzupassen.
p10k configure
EXA als Default ls Ersatz
Um EXA als Default ls zu setzen einfach am Ende der ~/.zshrc einen Alias setzen.
alias ls='exa --long --header --git'
ZSH als Default Shell setzen
chsh -s $(which zsh)
ZSH Starten im Gnome Terminal
Per Default startet Gnome Terminal immer in der Bash, um das zu Ändern muss in den Einstellungen eine Änderung vorgenommen werden. Dazu die Einstellungen öffnen und auf den Reiter Profile gehen und hier auf das Tab Befehle. Bei „Einen benutzerdefinierten Befehl statt meiner Befehlszeile starten“ auswählen und bei „Benutzerdefinierter Befehl“ zsh eingeben.