Vedle samotného vývoje se zabývám devops činnostmi, ke kterým patří různé práce na strojích v drtivé většině s OS Linux. Hodně času trávím v sehllu. Na většině serverech je výchozím shellem bash a mě až do nedávné doby nenapadlo nevyzkoušet žádný jiný shell. A že jich je….
Až do minulého týdne. Po velmi dlouhé době jsem se vrátil k zshellu. Podařilo se mi dotáhnout instalaci až do konce a jsem nadšený… Nejenže zshel vystřídal na mém mekovi stantdartní a defaultní bash, ale nainstaloval jsem si jej i na ostatní servery, na kterých provádím nějaký deploy.
Jednu z nejsilnějších stránek zshellu vidím super konfigurovatelnost promptu a jeho možnosti vizualizace. Prompt v zshellu vypadá opravdu skvěle. A nakonfigurovat jej je skutečně hračka.
Na první pohled vidím, že nejsme na svém stroji, ale na nějakém serveru, vidím kde jsem, ale co je největší přínios, hned vidím kde jsem v gitu, na jaké jsem branchi a jak si na něm vedu. Mám aktuální zdrojáky? Nejsem v nějaké změně dopředu? Integrace promptu s zsehllem je super!
Vedle toho jsem si dokonfiguroval pravou stranu promptu: odebral jsem všechny možné skopičiny a nahradil jej jen jednoduchou notifikací informace s návratovou hodnotou provedeného příkazu.
Další drobnost, ketrá potěší. Už žádné echo $?, ale jasně zobrazený výsledek i s exit statusem…
A těch drobností je mnohem. Víc.
zshell: instalace
1. instalace samotného zshellu
Pokud jste na mackovi stačí jen přes brew:
brew install zshell
A pak už jen výměna defaultního bash za zshell:
chsh -s /bin/zsh
2. instalace oh-my-zshell
Oh My Zsh je skvělá nadstavba pro zshel!
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
3. instalace themes pro oh-my-zshell
git clone https://github.com/bhilburn/powerlevel9k.git ~/powerlevel9k echo 'source ~/powerlevel9k/powerlevel9k.zsh-theme' >> ~/.zshrc
4. kustomizace promptu
Finální úprava konfigurace v ~/.zshrc
source ~/powerlevel9k/powerlevel9k.zsh-theme export LANG="en_US.UTF-8" POWERLEVEL9K_HOST_LOCAL_BACKGROUND='red' POWERLEVEL9K_HOST_LOCAL_FOREGROUND='white' POWERLEVEL9K_HOST_ICON='' POWERLEVEL9K_SSH_ICON='' POWERLEVEL9K_HOST_REMOTE_FOREGROUND='white' POWERLEVEL9K_HOST_REMOTE_BACKGROUND='red' alias ts="ts-node" export NPM_TOKEN="vas NPM token, pokud nejaky mate..." export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status) POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(host dir rbenv vcs)
5. změna fontu v terminálu
Aby se všechny znaky korektně zobrazovaly, je potřeba si v terminálu nastavit font, který tyto znaky umí. Jedná se o fonty, které obsahují ve svém názvu slovo Powerline. Odkaz na fonty najdeš níže.
iTerm2 -> Preferences -> Profiles -> Text -> Font
6. doinstalovani pluginu
# minimalne tyhle pluginty pro jednodussi a hezci prompt... git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
je pak jeětě potřeba do sekce plugins
pridat zsh-autosuggestions
a zsh-syntax-highlighting
Hotovo!
Může se hodit:
Powerlevel9k
Powerline fonts
Oh My Zsh