Większość użytkowników na co dzień korzysta z basha jako powłoki systemowej Unix. Dzisiaj zaprezentuję możliwość zwiększenia swojej produktywności poprzez użycie powłoki systemowej zsh na Ubuntu. W celu konfiguracji powłoki zsh wykorzystam framework open source Oh My Zsh.
Instalacja
W pierwszej kolejności przed instalacją Oh-My-Zsh należy zainstalować powłokę systemową zsh (wersja 4.3.9 lub nowsza), system kontroli wersji git, oraz curl lub wget,
sudo apt-get install zsh git wget
W celu znalezienia ścieżki do zainstalowanej powłoki zsh posłuży komenda which.
which zsh
Po instalacji, poleceniem chsh (ang. change shell) zmieniamy używaną powłokę systemową na zsh dla wskazanego użytkownika.
chsh -s /usr/bin/zsh root
Należy teraz przelogować się lub uruchomić ponownie terminal. W celu sprawdzenie aktualnie używanej powłoki stosujemy poniższą komendę.
echo $SHELL
Oh-My-Zsh instalujemy wykorzystując jedno z poniższych poleceń.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Jeśli wszystko powiodło się uzyskamy poniższy widok.
Motywy
Po zakończeniu instalacji można przejść do konfiguracji powłoki. Zaczniemy od pierwszego wrażenia, czyli wybierzemy jeden z wielu dostępnych motywów wyglądu powłoki. Nazwy dostępnych motywów znajdziecie na Themes i External themes. W celu zmiany aktualnego motywu należy dokonać edycji pliku konfiguracyjnego ~/.zshrc. Wybraną nazwę motywu należy przypisać do zmiennej ZSH_THEME. Wszystkie motywy można znaleźć w katalogu ~/.oh-my-zsh/themes/.
Przykładowo używany przeze mnie motyw agnoster wymaga dodatkowo zainstalowania Powerline Fonts.
sudo apt-get install fonts-powerline
Po zmianie motywu należy ponownie załadować konfiguracje z .zshrc wykonując polecenie source.
source ~/.zshrc
Pluginy
Oh-My-Zsh umożliwia dodanie wielu pluginów do powłoki, omawianie każdego po kolei było by czasochłonne, zainteresowanych zachęcam do przejrzenia listy na wiki Oh-My-Zsh. Wtyczki znajdują się w katalogu ~/.oh-my-zsh/plugins. Tutaj skupię się tylko na rozszerzeniu git. W celu aktywowania wtyczki należy edytować plik konfiguracyjny ~/.zshrc. Przykładowa sekcja w pliku konfiguracyjnym z dodaniem wtyczki git wygląda następująco.
plugins=( git )
W ostatnim wpisie Git Bash Aliasy przedstawiłem jak można dodać aliasy dla poleceń gita. Wtyczka git dostarczona przez Oh-My-Zsh ułatwia nam zadanie i udostępnia długą listę aliasów, wszystkie można znaleźć w opisie pluginu git. Poniżej przykład wykorzystania dostępnych aliasów.
Podsumowanie
Framework Oh-My-Zsh dostarcza do powłoki zsh wiele ciekawych funkcji ułatwiających codzienną pracę z terminalem i gitem, np.:
- pluginy (git, docker, etc.)
- aliasy (nie trzeba wpisywać codziennie cd by przejść do wybranego katalogu np. zamiast cd src, wystarczy wpisać src w terminalu)
- motywy (themes)
- podpowiadanie użytych wcześniej poleceń np., gdy wpiszemy nano i klikniemy ↑ lub ↓ to uzyskamy komendy zaczynające się od nano …
- rozwinięcie ścieżek np. wpisując /h/d/s i klikając „Tab” polecenie zostanie rozwinięte do ścieżki /home/devkr/sample
- dopełnienie polecenia np. wpisując git a i klikając „Tab” uzyskamy poniższe podpowiedzi
Mam nadzieje że tym wpisem zainteresowałem Was do przetestowania możliwości powłoki zsh, miłej pracy/zabawy z zsh.