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,

W celu znalezienia ścieżki do zainstalowanej powłoki zsh posłuży komenda which.

Po instalacji, poleceniem chsh (ang. change shell) zmieniamy używaną powłokę systemową na zsh dla wskazanego użytkownika.

Należy teraz przelogować się lub uruchomić ponownie terminal. W celu sprawdzenie aktualnie używanej powłoki stosujemy poniższą komendę.

Oh-My-Zsh instalujemy wykorzystując jedno z poniższych poleceń.

Jeśli wszystko powiodło się uzyskamy poniższy widok.

oH my zsh installed

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/.

zsh theme

Przykładowo używany przeze mnie motyw agnoster wymaga dodatkowo zainstalowania Powerline Fonts.

Po zmianie motywu należy ponownie załadować konfiguracje z .zshrc wykonując polecenie source.

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.

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.

samplePodsumowanie

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

git a
Mam nadzieje że tym wpisem zainteresowałem Was do przetestowania możliwości powłoki zsh, miłej pracy/zabawy z zsh.