Terminál: Přechod na ZSH společně s macOS Catalina
Tento článek byl napsán v roce 2019. Vývojářské technologie se neustále inovují a článek již nemusí popisovat aktuální stav technologie, ideální řešení a můj současný pohled na dané téma.
Po přechodu na novou verzi macOS Catalina budete vyzváni změnit výchozí shell z bashe na ZSH. Autorem je Paul Falstad a první verze byla vytvořena již v roce 1990. Podivný název vytvořil Paul z jména profesora Zhong Shao. V posledních letech obliba shellu výrazně vzrostla a nemalý podíl na tom má i framework pro správu ZSH konfigurace s neméně podivným název Oh My ZSH!
Pro změnu shellu stačí provolat changeshell příkaz:
chsh -s /bin/zsh
Konfigurace shellu je pro vývojáře dotnetu celkem potřebná, zejména pokud používáte například dotnet tools (viz. konec článku). Veškerá nastavení se uchovávají v souboru .zshrc, který můžeme otevřít ve výchozím editoru:
open ~/.zshrc
nebo přímo v terminálovém prostředí:
nano ~/.zshrc
Oh My ZSH!
Ihned po změně shellu doporučuji pokračovat instalací frameworku, který usnadňuje konfiguraci ZSH. Na stránce https://ohmyz.sh najdete veškerou dokumentaci a témata vzhledu pro zsh. Pro instalaci stačí v terminálu spustit instalační skript.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Ihned po instalaci se taktéž přepíše konfigurace v .zshrc souboru (to je důvod, proč tento krok děláme hned na začátku).
Definice aliasů
Do souboru .zshrc je možné vepsat další konfiguraci. Většina vývojářů a správců si obvykle definuje různé aliasy, pomocí kterých suplují jiné, krkolomnější a delší příkazy. Je to výhodné pro příkazy, které provádíte nejčastěji.
alias ..='cd ..' alias ...='cd ../..' alias ls='ls -GwF' alias ll='ls -alh'
Pluginy
Teď už budeme těžit z frameworku Oh My ZSH. Existuje celá řada pluginů, které můžeme zapojit do shellu a výrazně si usnadnit život. Obvykle si tyto pluginy naklonujeme z git repositáře do složky se ZSH pluginy a poté plugin aktivujeme aktualizací souboru zshrc.
autosuggestions
Příkladem budiž plugin autosuggestions. Ten si v první fázi naklonujeme:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
a následně přidáme nový řádek do .zshrc souboru
plugins=(zsh-autosuggestions)
Hotovo. Tímto způsobem lze přidat řadu dalších pluginů. Přehled pluginů najdete na této stránce na GitHubu.
Témata vzhledu
Společně se shellem máme k dispozici i témata, které mění vzhled UI v terminálu. Přehled témat najdete v oficiálním GitHub repositáři. Pro nastavení stačí přidat na začátek .zshrc souboru řádek:
ZSH_THEME=robbyrussell
přičemž robbyrussell je název tématu. Pro každou změnu je samozřejmě nutné terminál znovu spustit. Při výběru doporučuji volit spíše jednoduché přehledné témata s podporou GITu. Mezi mé favority patří témata dieter nebo flazz.
Dotnet
Pro práci s dotnet nástroji (dotnet global tools) je potřeba zavést si novou cestu k adresáři s nástroji. Na konec zshrc souboru stačí přidat
export PATH=$HOME/.dotnet/tools:$PATH
Go2Shell
Je více než praktické kdykoliv při procházení ve Finderu mít možnost otevřít v dané cestě shell. Pro tento účel používám praktický doplněk Go2Shell, který se do Finderu integruje a umožňuje mi otevřít shell pouhým kliknutím. Konfigurace je následně možná pomocí:
open -a Go2Shell --args config
Podotýkám, že zatím jediná terminálová aplikace, která funguje skutečně spolehlivě je ta originální. iTerm2 přes všechny výhody často nejde z neznámého důvodu otevřít.