Terminál: Tuning ZSH pro vývojáře
Článek se vztahuje k verzi produktu zsh / macOS
Tento článek byl napsán v roce 2020. 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.
V jednom z mých předešlých článků jsem psal o přechodu na nový shell ZSH a konfiguračním frameworku Oh my ZSH! Po několika měsících jsem si vyladil ZSH opět k lepšímu obrazu a v tomto článku shrnuji pár tipů na vylepšení terminálu.
Pokud začínáte se ZSH, doporučuji nejprve přečíst můj předchozí článek. Nyní budeme provádět jen dodatečnou konfiguraci v souboru zshrc. Začneme tedy jeho editací ve výchozím editoru:
open ~/.zshrc
Podpora Visual Studio Code
Občas se hodí otevřít soubor ve Visual Studio Code přímo z terminálu. K tomu stačí přidat odkaz do složky s aplikací VS Code. Obvykle někam na konec zshrc
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:$PATH"
Nyní můžete otevřít soubor ve VS Code příkazem:
code file.txt
... a nebo rovnou celou aktuální složku pomocí
code .
Podpora dotnet toolu
Úplně to samé platí pro dotnet tool
export PATH=$HOME/.dotnet/tools:$PATH
Lepší vzhled a podpora GITu
Chcete-li mít terminál přehlednější a získat skvělou podporu GITu včetně vizuálních vychytávek jako na obrázku níže, čeká nás další nastavování.
Naším cílem bude instalovat nový skin (téma). Ten ale bude vyžadovat speciální typ fontu (tzv. Powerline Font) a ještě aby to všechno dobře vypadalo, bude potřeba změnit podkladový vzhled terminálu.
Solarized Theme
V první řadě bych doporučil nainstalovat Solarized theme pro terminál. Stačí z oficiálního github repositáře stáhnout tmavé nebo světlé téma (soubor s přípomou .terminal). Ten následně můžete importovat do aplikace Terminál. Import se provádí v Předvolbách a pod seznamem témat je ozubené kolečko s možností import. Poté stačí označit dané téma jako výchozí a doladit si jej (velikost okna, fontů, atd.).
Agnoster ZSH Theme
Dalším krokem je přepnutí tématu ZSH na Agnoster. To se dělá opět pomocí zshrc. Pátrejte po řádku s nastavením ZSH_THEME a upravte jej na:
ZSH_THEME="agnoster"
Pakliže nemáte agnoster dostupný, můžete jej nainstalovat z github repositáře.
Powerline Fonts
Samotné téma zřejmě nebude fungovat správně. Zavoláte-li v terminálu:
echo "\ue0b0 \u00b1 \ue0a0 \u27a6 \u2718 \u26a1 \u2699"
a zobrazí se nesmyslné znaky místo "ikonek", potřebujete ještě Powerline Fonts. Najdete je opět na githubu. Stačí odpálit v terminálu sadu příkazů:
# clone git clone https://github.com/powerline/fonts.git --depth=1 # install cd fonts ./install.sh # clean-up a bit cd .. rm -rf fonts
a fonty se tímto nainstalují včetně úklidu při klonování repositáře. V mém případě jsem musel následně font (Meslo LG M for Powerline ...) ještě nastavit v tématu:
A to je celé. Po restartu terminálu by se měly změny projevit.
Neofetch, konfigurace macOS
Další, celkem užitečný tool neofetch ukáže aktuální nastavení macbooku. Můžete si jej nainstalovat přes homebrew:
brew install neofetch
A následně kdykoliv spustit příkazem neofetch. A stejně tak si jej můžete přidat do rutin po spuštění terminálu. Stačí přidat opět příkaz do zshrc (ideálně úplně na konec souboru).
neofetch
Výsledkem je uvítací screen:
Našeptávání - Fuzzy Finder
Další vychytávkou je našeptávání. Když napíšu CD a stisknu TAB, zobrazí se mi možnosti k dispozici. Když stisknu TAB ještě jednou, mohu dokonce jednotlivé možnosti procházet:
Podobně to funguje, když napíšu například dotnet. Pro zajištění podpory je potřeba nainstalovat nejprve fzf. Použít lze opět homebrew:
brew install fzf
... a následně přidat podporu pro shell:
/usr/local/opt/fzf/install
Eventuelně by mělo stačit přidat do zshrc řádek (pokud se tak nestalo automaticky)
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
Nyní máte k dispozici našeptávání i možnost podívat se například na poslední použité příkazy. Stačí stisknout v terminálu CTRL+R. Mezi položkami lze přecházet pomocí šipek.