wtorek, 27 października 2020

[K] Dlaczego SublimeText?

Minęło już ponad siedem (!) lat, odkąd poznałem SublimeText i mogę bez wahania powiedzieć, że jest to jeden z najczęściej używanych przeze mnie programów, poza może TotalCommanderem czy Foobarem 2000, no i systemem operacyjnym. To wręcz niezbędnik - wszystkie niemal posty na obu blogach powstają właśnie w nim, a do tego obrabiam w nim mnóstwo plików - szybka edycja tekstu jest zawsze w cenie. Czy to poprawić jakiś plik konfiguracyjny, napisać na szybko skrypt w PHP, przejrzeć json i wyciągnąć z niego dane, czy w końcu przeformatować jakiś plik tekstowy, ujmując listę w znaczniki HTML czy zmieniając wielkość liter. To wszystko da się zrobić w Sublime, a jeśli czegoś się nie da zrobić tak od razu, to na 99% istnieje jakiś dodatek-plugin, który to umożliwi.

Konkurencja

Zacznę nietypowo, bo od konkurencji. Wiele innych aplikacji przez te lata czyhało, żeby "wygryźć" SublimeText z mojego komputera (albo przynajmniej zepchnąć go na margines). Bezskutecznie. Pierwszym, niejako "naturalnym" wrogiem był IntelliJ IDEA, gdyż tego właśnie środowiska używam od mniej więcej ośmiu lat. Dostępnym w nim edytorom nie sposób cokolwiek zarzucić, a i samo środowisko jest świetne, jeśli chodzi o edycję plików. A jednak i IntelliJ, i SublimeText koegzystują sobie bezkonfliktowo - bo to są narzędzia do zupełnie innych celów. Jedno nie zastąpi drugiego - może wspomóc, ale nie zastąpi. IntelliJ jest potężny, ale też i "ciężki", a dodatkowo do wygodnej pracy potrzebuje "projektu". SublimeText to z kolei narzędzie do pracy "z doskoku", na pojedynczych plikach. Taki skalpel.

Drugim "naturalnym" wrogiem był Notepad++, bardzo dobry i do tego darmowy edytor. Nie mogę powiedzieć na niego złego słowa - jest naprawdę świetny, tylko niemożliwie brzydki i "rozwleczony". Może inaczej - ma tyle możliwości, opcji, menu, przycisków i wszystkiego, że oczy cierpią. To niepoważny zarzut, zdaję sobie z tego sprawę, ale co z tego, skoro właśnie moje oczy i ręce jednogłośnie opowiedziały się po stronie Sublime'a?

Stareńkiego kEDa nawet nie wymieniam, bo to żadna konkurencja i mimo że ciągle go używam do bardzo specyficznych prac (np. szybkiej zmiany tekstowej tabelki z tabulatorami na tabelę HTML), to do regularnej pracy choćby ze względu na brak nazwy pliku na zakładce się już nie nadaje.

Od czasu do czasu dostaję informację, że oto pojawił się SublimeText-killer, ostatnio w kontekście LightTable'a. Owszem, sprawdzam sobie te plotki, stąd znam i LightTable'a, i Atoma, i Visual Studio Code, i Brackets, i Geany, Kate oraz PSPad (próbowałem też wybadać Howla, ale ten powstaje głównie z myślą o Linuksie, zaś wersja na Windows wzbudza podejrzenia mojego antywirusa, więc nie ruszałem). Każda z tych aplikacji ma ciekawe funkcje, niektóre są też bardzo ładne. Niestety, większość jest dość "ciężka" i nie bardzo nadaje się do uruchamiania za pomocą skrótu "Edit" w TotalCommanderze jako podręczny edytor. Żadne jednak z tych narzędzi nie spełniło w pełni moich oczekiwań, które ostatecznie nie są jakieś wygórowane.

Fajne rzeczy w SublimeText

Pierwsza rzecz: możliwość instalacji mobilnej. Czyli wgrywamy sobie SublimeTexta na pendrive'a i używamy do woli. Bez instalowania w systemie, zmian w rejestrze czy innych niespodzianek. Oczywiście, jeśli ktoś woli, to może i taki rodzaj instalacji wybrać - droga wolna i za tę elastyczność duży plus.

Druga rzecz: dodatki. Od lat używam ciągle tych samych: Advanced New File (genialny! umożliwia tworzenie nowego pliku z natychmiastowym podaniem lokalizacji na dysku), FindKeyConflicts (bardzo przydatny do wyszukiwania konfliktów skrótów klawiaturowych), Indent XML (do formatowania znaczników XML/HTML), StringUtilities (bardzo różne operacje na ciągach tekstowych, typu konwersja tabulatorów na spacje i odwrotnie, zmiana wielkości znaków, formatowanie json) czy w końcu WordCount, liczący słowa. Ten zestaw nie jest, co łatwo zauważyć, bardzo rozbudowany, ale też nie musi taki być. Dużo rzeczy typu sortowanie, przesuwanie, łączenie linii robi "sam z siebie" SublimeText.

Trzecia rzecz: brak konieczności zapisu. To kolejne genialne rozwiązanie, które mnie trzyma przy tym programie. Tu można utworzyć nowy dokument, po czym zamknąć aplikację bez zapisu. A po uruchomieniu dokument nadal tam będzie! Nie mam pojęcia, kto na to wpadł, ale powinien zostać ozłocony. Koniec z tworzeniem miliona małych pliczków, żeby coś na chwilę tam wkleić czy zrobić. To się może nie wydaje rewolucyjnym rozwiązaniem, ale jeśli ktoś poużywa, z żalem będzie patrzył na aplikacje, które przy zamykaniu pytają o zapisanie każdego zmodyfikowanego dokumentu. Tutaj zamykamy, a po ponownym uruchomieniu mamy to, co przy zamykaniu. Taka hibernacja dokumentów - ale ta działa zawsze i bez pudła (nie przypominam sobie żadnych kłopotów z jej działaniem przez te lata).

Czwarta rzecz: rozmiar i szybkość. Aplikacja po rozpakowaniu zajmuje trochę ponad 30MB, z czego 10 przypada na Pythona. Uruchamia się błyskawicznie, dzięki czemu mam SumblimeTexta podpiętego pod klawisz F4 w TotalCommanderze, czyli jest to domyślny edytor plików tekstowych.

Piąta rzecz - wygląd. Nic nie poradzę, ja muszę mieć aplikacje w kolorze czarnym i ciemnoszarym. Uwielbiam to. A SublimeText jest tak zrobiony, że ma ten ciemny kolor "natywnie" - nie jest "pokolorowany", jak na przykład do tej pory robi się "ciemne tematy" do Eclipse'a. Do tego można sobie wygląd sprowadzić do rzędu zakładek i ukryć nawet menu - SublimeText i tak najlepiej obsługiwać po prostu klawiaturą.

Do tego dochodzi mnóstwo drobiazgów - możliwość podłączenia klienta SFTP i synchronizowanie plików zdalnych, możliwość podpięcia się do gita, praca z całym folderem plików (jeśli już ktoś tego potrzebuje), możliwość zainstalowania słownika (!). Jest tego sporo, naprawdę sporo.

Niefajne rzeczy w SublimeText

Najbardziej niefajną rzeczą w tej aplikacji jest, ma się rozumieć, cena - 80$. Nie jest to jakoś tragicznie dużo, zwłaszcza w porównaniu z cenami wirtualnych instrumentów VST, jednak pamiętam, że sam miałem niejakie opory, żeby wydać tyle pieniędzy na coś, co ma mi zastąpić świetnego i darmowego Notepada++ (a w 2013 roku SublimeText, jeszcze w wersji 2, kosztował "zaledwie" 70$). Obecnie ani trochę nie żałuję tej decyzji, a SublimeText zwrócił mi się wielokrotnie, oszczędzając czas.

Inna sprawa to brak przyjaznego panelu do konfigurowania programu. Nadal wszystko trzeba robić z poziomu edycji odpowiednich plików konfiguracyjnych, co może i ma jakiś posmak "retro" i wygląda bardzo "hakersko", ale czasem wygodniej byłoby po prostu kliknąć jakąś opcję, zamiast szukać w pliku odpowiedniej linijki lub (co gorsza) przeklejanie jej z jakieś internetowej porady. Doceniam możliwość konfigurowania aplikacji w ten sposób, ale dodanie okna, które to samo zrobiłoby w sposób bardziej intuicyjny byłoby miłym ukłonem w stronę użytkownika. Chociaż, w porównaniu do LightTable'a, tu jest high-life i luksusy.

No i jedna fatalna, w mojej opinii, rzecz - tu nie ma drukowania! Niczego nie wydrukujecie, nawet listy zakupów. Istnieje wprawdzie szereg pluginów, które to mają umożliwić, ale wymagają one jakichś zależności, których już nie chciało mi się tropić albo zwyczajnie nie działają. Od biedy da się użyć plugina ExportHTML, który otwiera dokument lub zaznaczenie... w przeglądarce internetowej, skąd już zazwyczaj da się wydrukować dokument. Nie dotykało mnie to tak bardzo, kiedy nie miałem jeszcze drukarki w domu. Teraz brak drukowania wprost z SublimeTexta coraz bardziej mnie irytuje...

Jest dobrze

Mimo wytknięcia kilku wad, nie przeszkadzają one w korzystaniu programu na tyle, by myśleć poważnie o znalezieniu alternatywy - zresztą, z mojej wiedzy wynika, że takiej alternatywy zwyczajnie brak. Chyba tylko ten paskudny z wyglądu Notepad++ byłby w stanie zastąpić SublimeTexta - gdyby tylko popracowano na interfejsem użytkownika! Zwłaszcza że zaimplementowano tutaj już brak konieczności zapisywania plików (czyli "hibernację") oraz drukowanie.

Tak czy inaczej polecam bardzo SublimeTexta. Do codziennej pracy jak znalazł!

5 komentarzy:

  1. Może wygląda lepiej od Notepad++ ale wygląd nie jest wart $80 USD - tyle sobie za SublimeText wołają. Notepad++ również uruchamia się błyskawicznie i robi co ma robić. Dodałbym screen mojego N++ ale nie można tego zrobić w komentarzu, więc podrzucę link:
    https://i.postimg.cc/d0XXDXC6/npp.jpg

    OdpowiedzUsuń
    Odpowiedzi
    1. To prawda :) Co niczego nie zmienia - i tak polecam SublimeTexta, po prostu też jest świetny ;) W momencie, gdy go kupowałem, żaden inny edytor tekstowy na Windowsa nie miał np. funkcji "hibernacji", a do teraz chyba żaden nie ma też funkcji tworzenia pliku w wybranym miejscu - to kolejna "pierdoła", ale jak się człowiek przyzwyczai, że robi Ctrl+Shift+N i wpisuje ścieżkę do pliku, który automatycznie zostanie utworzony, to później trudno z tego zrezygnować :) Nie wiem, czy Notepad++ ma funkcję jednoczesnej edycji w wielu miejscach (taki wielokursor) albo zaznaczenia wystąpienia jakiejś frazy w całym dokumencie i wpisania w jej miejsce nowej (coś jak takie automatyczne wyszukanie z zastąpieniem, ale nie jako oddzielna operacja, tylko w trakcie pisania).

      Wg mnie Notepad++ jest jedyną sensowną alternatywą dla SublimeTexta - te wszystkie Atomy, Bracketsy itp. to już ciężkie kobyły - oczywiście pewnie świetne w czymś tam, ale do szybkich edycji się moim zdaniem nie nadają.

      Usuń
    2. Takie niuanse to już musisz sprawdzić sam, podejrzewam że mogą być już zaimplementowane a jeśli ich nie ma to bardzo duża szansa, że są możliwe po dodaniu plugina - tych jest cała masa i jest wyszukiwarka wbudowana ich w aplikacji.

      Usuń
    3. No, ale ja nie planuję przejścia na Notepada++ :) W SublimeText mam wszystko, czego od lat potrzebuję - a sam wiesz, że wieloletnie przyzwyczajenia są bardzo mocne i bez potrzeby się ich nie porzuca ;)

      Usuń
  2. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń