Fish shell- jak ryba w wodzie

Ten post czytasz na własną odpowiedzialność. Instalacja fishshella grozi zwiększeniem produktywności, oraz dużą dawką przyjemności z korzystania z powłoki. Gdy spróbujesz, nie będzie odwrotu.

Fish shell, a właściwie friendly interactive shell to alternatywa dla basha czy zsh. Nie jest z nimi kompatybilna. Przewagą fish shella nad konkurencją jest zapewnienie użytkownikowi szerokiego zestawu funkcjonalności, które są dostępne out-of-the-box. W założeniu ma być bardziej user friendly. Tylko, i aż tyle. Przejdźmy jednak do konkretów. Co skłoniło mnie do zmiany powłoki na fish shell?

Autouzupełnianie w fish shellu

1. Autouzupełnianie

Działa ono dynamicznie, wyświetlając najbardziej prawdopodobne polecenie jako cień tekstu. Za pomocą tabulatora można wyświetlić pozostałe podpowiedzi jak i poruszać się między nimi. Strzałka w prawo (oraz skrót Ctrl-f) akceptuje propozycję, strzałki w górę (ctrl-p) i w dół (ctrl-n) pozwalają poruszać się między ostatnimi komendami zawierającymi wpisany podciąg.

2. Podpowiedzi

Te najbardziej podstawowe generowane są nie tylko na podstawie dostępnych programów (albo folderów/ plików), ale uwzględniają również obecną lokację użytkownika jak i historię komend. Na pochwałę zasługuje również system podpowiedzi flag i argumentów.

3. Kolorowanie składni

Nic dodać nic ująć- spisuje się dokładnie tak jak powinno. Od początku, bez żadnej konfiguracji.

Panel fish_config

4. fish_config

Podstawowe ustawienia (takie jak np. kolory albo prompt) można ustawić w przeglądarce internetowej, po uruchomieniu programu fish_config. Można również tam przejrzeć dostępne funkcje, zmienne, czy historię.

Działanie abbreviations w fishshellu

5. Abbreviations

Abbreviations to aliasy na sterydach. Po wpisaniu skrótu, wyświetlane jest pełne polecenie.

7. Oh my fish

Skojarzenia z oh-my-zsh są jak najbardziej prawidłowe. Framework zarządzający pluginami. Daje dostęp do kilkunastu fajnych themów i dodatków. Jak już wspomniałem fish shell jest niekompatybilny z bashem/zsh, jednak na 50% znajdziecie jakieś rozwiązanie wśród wtyczek, a na 48% będzie ono na stack overflow. Biada Ci jeśli trafisz na sytuację znajdującą sie w owych 2%.

8. Vi mode

Co prawda uważam to za lekki przerost formy nad treścią (w końcu praca w konsoli to głównie pisanie, a nie edycja), jednak jeśli ktoś jest totalnym maniakiem będzie czuł się jak w domu.

9. Własny język

Fish shell przychodzi z własną składnią. Na pierwszy rzut oka wygląda bardziej przyjaźnie niż skrypty basha. Na minus działa fakt że (nie wiem czy to już pisałem) nie jest kompatybilny ze skryptami sh, więc właściwie wszystkie customowe skrypty trzeba przepisać/ znaleźć w internecie wersję w skrypcie fish shella.

Poruszanie się po katalogach bez użycia cd

10. Pozostałe Szmery-Bajery

Myślę że ta lista spokojnie mogła by być nieco dłuższa, jednak takie rzeczy jak brak konieczności wpisywania cd przy poruszaniu się po katalogach, albo przechodzenie do ostatnio otwartego katalogu za pomocą funkcji prevd to tylko smaczek w porównaniu do innych funkcjonalności.

Jeśli podane przeze mnie argumenty zachęciły cię do instalacji fish shella, tutaj znajdują się dokładne instrukcje jak przeprowadzić instalację na Twojej platformie.

Tutaj można znaleźć instrukcję jak ustawić fisha jako domyślną powłokę.

Tutaj znajduje się lista z skrótami klawiszowymi z którymi warto się zapoznać.