Tylna część okładki (zachęcająca do kupna książki)
Stało się.
Dlaczego wieloletni Vimowiec napisał sudo apt install emacs
?
Dlaczego nie wycofał się po zobaczeniu skrótów klawiaturowych, z których C-x M-c M-butterfly
by był najprostszym?
Co nim kierowało?
I najważniejsze -- czy nawróci się na Jedyną Słuszną Drogę, pokutując poprzez sudo apt purge emacs
?
Akt I: zwątpienie
Z 10 lat korzystam z Vima. Nie chciałem się angażować w kolejny edytor ze stromą krzywą uczenia. Wojna edytorowa zaowocowała w niejedno zestawienie porównawcze i dla mnie wniosek był prosty: skoro czuję się komfortowo z Vimem, niech tak zostanie.
I nie byłoby tego wpisu, gdybym nie szukał lepszego zestawu narzędzi do trzymania listy zadań, spotkań czy notatek okraszonych okazyjną flagą TODO
.
Zastanowiłem się nad wyglądem mojego przepływu pracy.
Spisałem wymagania i preferencje.
Przeszukałem internet w poszukiwaniu odpowiednich narzędzi i je porównałem.
Wniosek był dość prosty: użyję org-mode
i będę zadowolony.
Org is a mode for keeping notes, maintaining TODO lists, and project planning with a fast and effective plain-text markup language.
(Źródło.)
Innymi słowy: dostaję możliwość pisania notatek, w ramach których mogę jednym skrótem klawiaturowym dodać TODO
.
Mogę dodać zadania w stylu „odkurz mieszkanie co najwyżej raz na 2 dni, ale co najmniej raz na 5 dni”.
Mogę wygenerować rozkład dnia czy tygodnia.
Narzędzie jest klawiaturocentryczne, więc nie odrywa od pisania.
A dodatkowo format danych jest tekstowy i jak najbardziej human-readable.
Przez lata przeczytałem wiele dobrych opinii fanatyków Emacsa, opinii Vimowców, którzy poszli tą ścieżką, a także komentarze osób, którym wejście w świat org-mode
nie udał się.
Dlatego musiałem spróbować.
Akt II: upadek
Co się stało dalej?
- Zainstalowałem Emacsa;
- Przeszedłem wbudowany tutorial. Dwa razy;
- Wyznawca Kościoła Emacsa przekonał mnie, że jeśli Emacs, to z GUI (nie rzucajcie jeszcze kamieniami, proszę);
- Zacząłem korzystać z Emacsa jako głównego edytora;
- Poznałem
evil-mode
oraz kilka innych paczek; - Zacząłem korzystać z pamięci mięśniowej i odstawiać duckduckgowe cheat sheety.
Najważniejsze z powyższego jest użycie evil-mode
.
W największym skrócie jest to Vim w Emacsie.
Wiele aplikacji ma skróty klawiaturowe w stylu Vima, głównie nawigację za pomocą h
/j
/k
/l
.
Większość z tych „emulatorów” jest niepełna i w niespodziewanych momentach zachowuje się inaczej, niż byśmy oczekiwali.
I tutaj evil-mode
błyszczy.
Jestem skłonny stwierdzić, że to najlepsza emulacja Vima jaka istnieje.
A nie oszukujmy się: edycja tekstu w czystym Vimie jest zdecydowanie wygodniejsza niż w czystym Emacsie.
Doprowadziło to do sytuacji, w której mogę korzystać z org-mode
pisząc jak w Vimie, zatem bez walki z własnymi nawykami dot. skrótów klawiaturowych.
Co oprócz org-mode
?
Wygodniejsza modyfikacja edytora. Czy jest na tym świecie ktokolwiek, kto z przyjemnością pisze w VimL (Vim script?)? Szczerze wątpię. Za to pisanie w jednym z dialektów Lispa wywołuje uśmiech u niejednego programisty. U mnie na pewno :)
Ledwie poznałem podstawowe możliwości magit
a (emacsowy interfejs do Gita), a już widzę, że ma potencjał.
Czy to będzie pierwszy raz, gdy porzucę zarządzanie repozytoriami z poziomu konsoli?
Być może i bynajmniej nie jest mi z tego powodu smutno.
Emacs posiada również wiele paczek: od wyspecjalizowanych trybów pod konkretne rodzaje plików czy języki programowania, poprzez integracje z narzędziami do statycznej analizy kodu, aż do przeglądarek internetowych. Odnoszę również wrażenie, że te dodatki lepiej się integrują z edytorem (tudzież ze sobą nawzajem) niż w vimowym świecie.
Akt III: przyszłość
Czy mam zamiar kontynuować eksperyment? Tak.
Czy brakuje mi czegoś z Vima? Co najwyżej krótszej nazwy.
Czy polecam przesiadkę? Jeszcze nie wiem. W moim przypadku -- póki co -- sprawdza się wyśmienicie.
Wiele osób się śmieje, że Emacs to świetny system operacyjny, ale brakuje mu porządnego edytora tekstu.
Pierwsza część jest solidnie podparta liczbą i jakością paczek do mnóstwa rzeczy.
A co do drugiej części…
Tutaj właśnie wkracza evil-mode
.
Posłowie
(Post został napisany przy użyciu GNU Emacs 25.2.2 wraz z markdown-mode
tudzież evil-mode
, zaś dodany do repozytorium przy użyciu magit
a. Grafomańską wenę zawdzięczam św. IGNUcemu.)