Porównanie kilku Emacsowych frameworków
Zapraszam do lektury
1. Scimax
Jest to starterkit skierowany do inżynierów i naukowców. Skupia się na dostarczeniu najbardziej przystępnego trybu Org, idealnego do pisania naukowych artykułów. Jego autorem jest profesor chemii John Kitchin, który ostatnio przeniósł się na Visual Studio Code. Przeportował on z pomocą Claude Code swoje środowisko pracy do konkurencji w postaci IDE od Microsoftu, dlatego prawdopodobnie więcej aktualizacji Scimax na Emacsa już nie otrzyma. Ponadto ten starterkit posiada dobre wsparcie cytowania i bibliografii oraz LaTeX, a także ma preinstalowany pakiet org-db, który pozwala na indeksowanie plików Org z pomocą SQLite. Korzystałem z tego starterkitu dość krótko. Zapewne nie wykorzystałem nawet ułamka jego funkcjonalności. Wprowadziłem pewne zmiany w pliku user.el, który służy do konfiguracji Scimaxa, w tym dodałem pakiet org-modern oraz motyw Visual Studio Dark Plus. Poniżej mój zrzut ekranu:
2. Doom Emacs
Jest to wiodący framework Emacsa, który dostarcza wiele usprawnień przyspieszających działanie samego Emacsa. Najdłużej na nim działam. Pliki konfiguracji są w katalogu $DOOMDIR. Plik init.el w tym katalogu pozwala ustawienie podstawowych rzeczy, takich jak metody uzupełniania, języki programowania, czy też narzędzia, takie jak treemacs. Wystarczy odkomentować odpowiednie makro w tym pliku, a potem w terminalu wpisać komendę sh doom.sh sync, co pozwala wdrożenie tych zmian(wymaga to również restartu Emacsa). Kolejny plik package.el pozwala na doinstalowanie interesujących nas pakietów (ostatnio dodałem ten pakiet [https://github.com/nick-maderight/docx-view], który pozwala na podgląd plików docx w Org-mode). Ostatni plik w katalogu $DOOMDIR, jest to config.el, gdzie można umieścić na przykład swoją konfigurację email.
Tak wygląda obecnie mój Doom Emacs w Org mode.
3. Spacemacs
Po raz drugi po półtorej roku, Spacemacs mnie dość niemile zaskoczył. Pierwszy raz, gdy próbowałem po raz pierwszy Emacsa, to właśnie od Spacemacsa odbiłem się jak od ściany. Drugi raz był dość podobny, gdyż zetknąłem się z dziwnym błędem pakietu hel, który jest wbudowany w Spacemacsa, i odpowiada za podpowiedzi poleceń M-X w minibuforze. Nie dość, że nie miałem tych podpowiedzi, to na dodatek przez jakiś czas interface Emacsa se zacinał. Spacemacs korzysta z trybu Evil, tak jak Doom Emacs, lecz zestaw domyślnych skrótów klawiszowych, w mojej subiektywnej opinii, znacznie się różni. Pakiet Evil odpowiada za ustawienia skrótów klawiszowych wzorowanych na edytorze Vim. Cała konfiguracja Spacemacsa mieści się w jednym pliku w katalogu domowym użytkownika o nazwie .spacemacs, gdzie w bloku dotspacemacs-additional-packages można dodać swoje pakiety, takie jak na przykład wspomniany wcześniej docx-view łącznie z ich konfiguracją!
4. Prelude Emacs
Jest to szybka i nowoczesna konfiguracja Emacsa, która cechuje się automatycznymi aktualizacjami pakietów, jest przyjazna dla nowicjuszy oraz potrafi doinstalować odpowiednie pakiety do używanych formatów plików.
Prelude opiera się na skrótach klawiszowych domyślnie stosowanych w Emacsie. Mimo, że poświęciłem mało czasu na korzystanie z niego, to jednak prostota i nieskomplikowanie tego frameworka jest zauważalne na pierwszy rzut oka.
5. Minimal Emacs.d
Ten framework bardzo pozytywnie mnie zaskoczył. stworzyłem dla siebie post-init.el, który zawiera compile-angel → pakiet służący do kompilowania kodu źródłowego Elisp, co przyspiesza start GNU Emacsa(uwaga, korzystanie z tego pakietu pod Doom Emacs powoduje problemy). Ponadto zawiera on dashboard, emulator terminala eat, menadżera plików Treemacs, ciemny motyw wzorowany na Visual Studio Code, autozapisywanie po 30 sekundach nieaktywności i zapisywanie na wypadek awarii. Ponadto podpowiedzi i sprawdzanie pisowni. Lepsze akcje cofnij, zapisywanie i przywracanie sesji. Usprawnienia Org mode oraz Org-appear → lepszy wygląd. Treemacs to menadżer plików. Helpfull to lepszy tryb pomocy. Od siebie dodałem mój ulubiony motyw wzorowany na Visual Studio Code Dark Plus. Karty w widoku. Na końcu pliku jest dodana obsługa pdf tools oraz Markdown. Ustawiłem też auto-aktualizacje pakietów Emacsowych przy włączeniu Emacsa.
Tutaj krótki film jak ta konfiguracja się prezentuje [https://youtu.be/GvXYicOPzzE].
6. Podsumowanie
Ostatnio zrobiłem pewien eksperyment, gdzie skompilowałem gałąź 31.x na moim starym Macbooku Air z 2014 roku. Zajęło mi to nieco ponad 50 minut. Przepis poniżej:
git clone –depth 1 –branch emacs-31 https://github.com/emacs-mirror/emacs.git
./autogen.sh
./configure -–with-native-compilation=aot \
-–with-tree-sitter \
–with-pgtk \ # Wayland
–with-gtk # dla X11(Xorg/XLibre) za pomocą biblioteki GTK
–with-cairo \
–without-compress-install
make -j$(nproc) sudo make install
Dlaczego o tym piszę? Otóż do testowanie Prelude Emacsa i minimal Emacs.d używałem właśnie tego starego MacBooka, co sprawiło mi nie małą frajdę. Dla porównania ten sam przepis na Emacsa 31.x kompilował mi się 5 minut i 32 sekundy pod moim głównym laptopem.. Jako użytkownik Doom Emacsa, jestem bardzo pozytywnie zaskoczony frameworkiem Minimal Emacs.d od Pana Jamesa Cherti. Przy korzystaniu z tego, to czuło się tę moc Emacsa. Niemniej jednak trzeba sobie go skonfigurować w oparciu o dostarczoną dokumentację, co może utrudnić osobom wdrażającym się w Emacsa połapanie się w podstawach tego edytora tekstu. Myślę, że Prelude oraz Doom Emacs są najlepsze na początek dla osób, które wcześniej się nie zetchnęły z GNU Emacsem. Dajcie znać, co o tym myślicie w komentarzu.




Komentarze
Prześlij komentarz