W poszukiwaniu edytora uniwersalnego [Sublime Text]
Edytor to najważniejsze narzędzie każdego informatyka niezależnie od jego specjalności. Od wyboru głównego edytora zależy komfort codziennej pracy. Artykuł jak najbardziej subiektywny 🙂
Na Windowsie wybór jest oczywisty - Notepad++. Ma system pluginów, zaznaczanie kolumnowe, szukanie i zamienianie przez wyrażenia regularne, całkiem przyzwoite motywy, dobrze radzi sobie z dużymi plikami w dużej ilości, zapamiętuje niezapisane pliki, posiada zakładki oraz umie otworzyć dwa pliki obok siebie w podzielonym widoku (jak Terminator pod Linuksem) itp.
Na Linuksie powstaje problem.
Początkujący i średniozaawansowany użytkownik nie-KDE powie: Gedit. Funkcje są tylko podstawowe (rzecz jasna sporo więcej od notatnika z MS Windows), ale solidny i wystarczający. Cóż… po tym co wyczynia zespół Gnome’a można tkwić w Gnome 2, albo nie używać gedita. Wariactwo zwane Gnome 3 ma w taki oto sposób okaleczyć jeden z najważniejszych edytorów tekstowych z GUI:
Jako szybka alternatywa jest Leafpad - ma interfejs i funkcje z dawnych wersji; popularny zasadniczo w XFCE.
Użytkownik KDE powie: Kate.
Ale kochana Kate ma trzy wady:
- wymaga całego dyskożernego KDE
- jest w stylu nowego KDE
- wymaga całego KDE
Z tego powodu niektórzy ludzie kurczowo trzymają się Kubuntu - bo jest Kate. Z ważnych funkcji należy wymienić tryb pracy jako IDE do niektórych języków, obszerne pola wyszukiwania funkcji i ładne kolorowanie składni. Cóż, jako edytor uniwersalny się nie nadaje.
Są i tacy (jedni to super-power-guru Unixowi, drudzy to dzieciaki, które ledwo co odpaliły gnome-terminal na Ubuntu), co powiedzą vi, albo co gorsza emacs.
Vi jest prawdziwie uniwersalne - jest wszędzie. Zatem trzeba go umieć obsłużyć (jeśli nie wiesz co robią komeny:q :q! :wq / dd
i używasz Linuksa jako administrator to wypada się podszkolić bo jak nie uda się wystartować inita to gedita nie będzie).
Mała dygresja: na Linuksach nie ma już vi - jest Vim w trybie zgodności z vi (poznać można po helpie wyświetlanym po uruchomieniu bez pliku). Ale na FreeBSD czy gołym Unixie jest tylko vi. Swoją drogą zagadka: Jak stworzyć idealny generator losowy?
Tak, wiem, że teraz lansowany jest nano - ma przyjazne sterowanie widoczne cały czas, ale przyzwyczajenie się do niego to nic dobrego. Dla mnie tym co go wyklucza jest komenda zapisująca - Ctrl+O
- taka sama jak przełącznik konsoli i commandera w MC - czasem używam innego niż wbudowany edytor w trakcie pracy z plikami w Midnight Commanderze. Ctrl+O ubija jakąkolwiek komunikację - dostęp stracony.
Ostatnia dygresja: jak na szybko zamknąć vi? Ctrl+Z
😉
Emacs to dla mnie koszmar jeśli chodzi o edytory - poza wszystkim co można wymyślić w trybie edycji plików mamy klienta poczty, przeglądarkę WWW, PIM (Personal Information Manager - np. kalendarz, kontakty) i chyba tylko sam
święty iGNUcjusz wie jeszcze.
Przypomina to coś w rodzaju:
tylko, że w konsoli tekstowej z miliardem dziwnych skrótów klawiaturowych.
Z konsolowych jest jeszcze mój ulubieniec - mcedit będący częścią Midnight Commander’a. Potrafi podświetlać składnię, szukać w pliku, oraz kopiować, wklejać i tym podobne proste zadania wykonywać. Ma zasadniczą zaletę - łatwo go ogarnąć: poza akcjami przypisanymi do F1-F10 opisanymi na dole (dziedzictwo Norton Commandera, znane windowsowcom m.in. z Total Commandera) trzeba znać tylko Ctrl+Ins, Shift+Ins i Shift+Del (kolejno: kopiuj, wklej, skasuj zaznaczenie - intuicyjnie strzałki+shift). Bardzo prosty, ale najwygodniejszy do prostych edycji - zwłaszcza przez Putty’ego gdy [Esc] wariuje.
Bluefish jest aż za bardzo zorientowany an HTMLa - autowstawki, tablice znaków, FTP, podgląd w przeglądarce (nic dziwnego, że nazywał się Thtml editor). Najbliżej mu do Windowskowego kED’a.
Komodo Edit jest doskonały dla tych, którzy programują w językach mających swoje wersje wydane przez ActiveState - Perl, Python, Tcl. Poza tym wyposażony w developerskie opcje dla WWW - np. przeglądarkę drzewa DOM, czy narzędzia do walidacji.
Idąc dalej spotkamy Geany - przyjemny edytor, ale znowu - zbyt bardzo zintegrowane środowisko programistyczne zamiast edytora!
UltraEdit to komercyjne wszystko-w-jednym-na-wszystkie-platformy. Przerost formy nad treścią - spójrz na screen obrazujący przerost emacsa - to właśnie UltraEdit. Okropna cena $80 za sam edytor - inne komponenty (np. odpowiednik diffa) to osobne produkty. Trial ograniczony czasowo.
I na sam koniec mój ulubiony edytor. Niestety własnościowy. Niestety $70. Ale trial polega na tym, że co kilkanaście zapisów pokazuje dodatkowe okienko zachęcające do zakupu licencji (nieoficjalnie: jest crack). Sublime Text. Lista funkcji jest tak duża, że aż twórca na swojej stronie pominął niektóre. Poza tym co jest wszędzie znajdziemy w nim:
- skok do dowolnego miejsca - goto anything (linii, funkcji, elementu DOM…)
- natywnego HUD (menu z wyszukiwarką)
- potężną zaznaczarkę - nie tylko kolumnowa /blokowa, ale wielosegmentowa (zaznaczamy trzy fragmenty tekstu i do nich jednocześnie dopisujemy)
- tryb nierozpraszający - wycentrowany fullscreen
- tryb podziału okna - jak w Notepad++
- mapę kodu - po prawej
- oczywiście wewnętrzną konsolę bazującą na Pythonie, a więc tym samym kalkulator 🙂
- dowolne transformacje tekstu - wielkość liter, podział na linie, komentowanie blokowe, wcięcia, ucinanie do linijki (np. do klasycznej szerokości 80 znaków)…
Pewną dziwnostką, a zarazem wyjątkowością jest brak graficznego edytora ustawień - z menu wykonamy polecenia i zmienimy z list rozwijanych podstawowe rzeczy - zmienimy język programowania do składni, motyw, czy rozmiar czcionki. Kliknięcie na “Settings - default”, czy “Settings - user”… otworzy plik do edycji. Wszystkie z ładnymi komentarzami - można ustawić dowolne parametry, a by je zatwierdzić wystarczy plik zapisać. Oczywiście można także tworzyć pluginy i pobierać miliardy motywów.
Lista przydatnych linków do subl’a:
- Strona domowa
- Dokumentacja producencka
- Nieoficjalna dokumentacja
- Jedna ze stron opisujących sztuczki
- Blog ze sztuczkami i opisami mnogich pluginów
- Pierwsza strona z motywami
- Druga strona z motywami
- Subiektywny zbiór ładnych motywów
Reasumując: moje ulubione edytory to graficzny Sublime Text (za potęgę funkcji i nie targetujący w żadne konkretne zastosowanie interfejs) i konsolowy mcedit (za elementy GUI i łatwość sterowania). A zawsze znać trzeba vi.