Emacs w odcinkach
Na początku był chaos. Potem RMS wymyślił GNU.
Strony: początek koniec następna
Odcinek 0: Czym jest Emacs i czy jest mi potrzebny?
2006-04-10, 22:19:58
Czym jest Emacs i czy jest mi potrzebny?
- GNU Emacs to edytor tekstu napisany przez Richarda Stallmana na platformę PDP-10
- GNU Emacs to potężne środowisko edycyjno-developerskie dla Unixa i jego klonów, MS Windows, Mac OS i innych
- GNU Emacs to nakładka na system operacyjny
- GNU Emacs to filozofia i styl życia
- GNU Emacs to religia
Ok, zaczniemy jeszcze raz.
(więcej w »Odcinek 0: Czym jest Emacs i czy jest mi potrzebny?«)
Odcinek 1: Kilka chwytów na gitarę klasyczną
2006-04-21, 11:34:14
Ramka, bufor, skróty klawiszowe, podstawowe funkcje edycyjne.
Odcinek 2: Ain't got no food to eat, ain't got no money to spend
2006-05-11, 14:39:21
Wszystkie dotychczasowe odcinki (jak i te, które — mam nadzieję — powstaną) nie miały (i nie będą miały) na celu wyczerpująco omówić wszystkich wypunktowanych zagadnień. Moim głównym celem było zwrócenie uwagi na możliwości i dostępną funkcjonalność.
Przede wszystkim, nie sposób używać wszystkich funkcji emacsowych podczas codziennej pracy. Nie sposób nawet poznać tych funkcji w rozsądnym czasie. Staram się pisać o tym, z czego korzystam na co dzień. Obecnie jestem w trakcie dłubania poprawek do silnika tej strony, które pozwolą na lepsze zarządzanie komentarzami. Wtedy będzie już prosto: jeśli zapomnę o czymś napisać, z pewnością ktoś spostrzegawczy mnie (i Was przede wszystkim) o tym poinformuje.
(więcej w »Odcinek 2: Ain't got no food to eat, ain't got no money to spend«)
Odcinek 3: Seek & Destroy
2006-07-05, 22:00:35
Każdy szanujący się edytor tekstu umożliwia wyszukiwanie i zastępowanie tekstu, interaktywne bądź automatyczne. Edytory z górnej półki potrafią dodatkowo operować wyrażeniami regularnymi. Edytor z najwyższej półki — Emacs — radzi sobie z tymi funkcjami znakomicie i na wiele sposobów.
Odcinek 4: List do cioci
2006-07-19, 00:12:42
Edytor Numer Jeden może być wykorzystany do pisania tekstów dowolnych: opowiadań, raportów, listów i podobnych. Dość często zależy na sprawdzeniu pisowni, zwłaszcza, gdy taki tekst jest bardziej urzędowy lub zostanie upubliczniony. Do Emacsa dorobiono więc obsługę programu ispell, popularnego spell-checkera. Sposób działania i możliwości przypominają odpowiedniki z popularnych graficznych procesorów tekstu.
Odcinek 5: Wszystko po swojemu
2006-07-20, 23:37:20
Najlepszy z Edytorów jest programem dość skomplikowanym i rozbudowanym, nie ma co do tego żadnych wątpliwości. Próba skonfigurowania w tradycyjny sposób (okienko dialogowe z setką zakładek i milionem opcji) przyprawiałaby o ból głowy. Mnóstwo cudzego kodu w lispie uczyniłoby pewnie skonfigurowanie Emacsa niewykonalnym. Na szczęście znalazł się odważny człowiek i napisał przydatne narzędzie.
Odcinek 6: Nie taki diabeł straszny
2006-09-20, 22:48:11
Wyniki działania Customize zapisywane są do pliku konfiguracyjnego jako wywołania kolejnych funkcji lispowych. Można wyręczyć Customize i zrobić te wpisy na własną rękę. Czasami to nawet konieczne.
Emacs domyślnie szuka pliku, który będzie interpretowany przy starcie w katalogu domowym użytkownika. Plik powinien nazywać się .emacs (kropka na początku obowiązkowa i celowa), natomiast katalog domowy... hm.
Odcinek 7: Kodowanie
2006-11-18, 11:07:45
Czasami zachodzi potrzeba otwarcia pliku w innym kodowaniu niż aktualnie używane. Niekiedy trzeba zapisać plik w innym kodowaniu. Sytuacje takie zdarzają się często, chociażby podczas pracy grupowej. Emacs radzi sobie z takimi przypadkami znakomicie, udostępniając przy okazji kilka przydatnych udogodnień.
Odcinek 8: Uruchomić coś?
2007-01-28, 16:48:00
Podczas pracy ze zwykłym edytorem tekstu często trzeba sięgać do terminala, aby wykonać jakieś operacje na plikach i katalogach, uruchomić jakiś program lub też skompilować pisane przez siebie źródła. Emacsowcy mają ten komfort, że odpowiednie narzędzia zostały już wbudowane w ich ulubiony program.
Odcinek 9: Katalog dla każdego
2007-01-28, 23:35:06
Odwiedzać można zarówno pliki, jak i katalogi. W tym drugim przypadku katalog otwierany jest przez narzędzie zwane Dired, które jest znakomitym menedżerem plików.
Dired może zostać wywołany zarówno poprzez odwiedzenie katalogu, jak i użycie funkcji M-x dired (Emacs następnie spyta o nazwę katalogu do otwarcia)
Odcinek 10: Harry Potter i komnata czarownic
2007-03-15, 22:19:44
Zakładki
Pracując często z dużą ilością tekstu irytującym staje się wyszukiwanie konkretnego wystąpienia jakiegoś wzorca, zwłaszcza w wielu buforach.
Z pomocą przychodzą zakładki (bookmarks): można oznaczyć podane miejsce w tekście, a później łatwo do niego skoczyć, niezależnie od tego, który bufor jest aktualnie aktywny. Co ciekawe, zakładki są zachowywane wraz z otaczającym je tekstem (tzw. kontekst) tak, aby dana zakładka potrafiła się dynamicznie dostosować do zmian w pliku (dodanie bądź usunięcie linii przed zakładką spowodowałoby — w przypadku zakładek statycznych — eleganckie „rozjechanie się'' zakładki i miejsca w tekście, które faktycznie oznaczono)
Odcinek 11: Umysł jak brzytwa
2007-04-12, 10:03:03
Powtarzanie w kółko tych samych czynności podczas pracy z tekstem (lub wieloma tekstami) jest bardzo nużące: czy to wpisywanie tego samego tekstu, czy wywoływanie w kółko tego samego zestawu funkcji, potrafi irytować, a i pomylić się można bardzo łatwo. Na szczęście można sobie pomóc makrami, które grupują w jedną całość naciśnięte klawisze (tekst pisany, jak i wywoływane interaktywnie funkcje wraz z potrzebnymi danymi)
Odcinek 12: prof. dr hab. inż. prez.
2007-04-16, 13:09:01
Rozwijanie skrótów w czasie pisania jest szalenie fajną możliwością. Zastępuje niewygodne znajdź-zastąp dla regularnie powtarzających się tasiemców, o którym łatwo zapomnieć. A pieczołowite wklepywanie długiego tekstu jest męczące i łatwo o pomyłkę.
Rozwijanie skrótów jest dostępne tylko w abbrev-mode, więc trzeba go włączyć odpowiednio wcześniej (M-x abbrev-mode)
Odcinek 13: Tryby nie tylko zębate
2007-05-15, 10:42:40
Uniwersalny edytor tekstu edytuje wszystko, co tylko jest w stanie otworzyć, oferując w sumie niewiele funkcji. Specjalizowany edytor tekstu potrafi edytować niewielki wycinek plików, oferując ogromne możliwości tylko dla tych określonych typów (języki programowania, dokumenty o określonej strukturze); cóż jednak mają te wszystkie programy do zaoferowania programiście piszącemu w sześciu językach, dodatkowo rozwijając dokumentację w LaTeXu i dłubiąc od czasu do czasu jakąś stronę www? Niewiele. Zmuszanie do instalowania osobnych IDE do każdego języka jest bez sensu.
Emacs oferuje dla każdego rodzaju pliku tzw. „tryb'' (ang. mode); krótko mówiąc, tryb jest zbiorem konkretnych funkcji i ustawień, widocznych (dostępnych) podczas edycji plików określonego typu.
(Trybów emacsowych nie należy mylić z trybami u konkurencji, które służą do czegoś zgoła innego)
Odcinek 14: Kopie zapasowe
2008-05-22, 12:00:20
Domyślnie Emacs tworzy kopie plików podczas zapisywania ich nowych wersji. Do nazwy pliku (ok, myśląc po dosowemu/windowsowemu: do rozszerzenia) dokładana jest tylda; zawartością tego pliku jest poprzednia wersja aktualnego bufora.
Emacs byłby zbyt prostym edytorem, gdyby nie umożliwiał przechowywania dowolnej liczby wersji pliku wstecz i konfigurowania całego tego mechanizmu.
Odcinek 15: Emacs i bramy raju
2008-07-07, 10:58:02
Typowy programista (choć nie tylko) styka się codziennie w swojej pracy z takim bądź innym systemem kontroli wersji: póki co, nie wymyślono lepszego sposobu na wspólne składowanie danych wraz z dostępem do wszystkich poprzednich wersji.
Łatwo się domyślić, że Najlepszy Z Edytorów obsługuje różne systemy kontroli wersji (wszystkie bardziej znane i mnóstwo mniej znanych); obsługuje, czyli oferuje te same funkcje, co dedykowany klient VC, dodatkowo czyniąc wszystkie operacje łatwiejszymi (a wyniki wszystkich operacji są pokazywane użytkownikowi w o wiele strawniejszej formie niż suchy tekst w terminalu)
Odcinek 16: Porównaj mi, mamo.
2008-07-12, 14:06:32
Jedną z wielu czynności wykonywanych podczas pracy z plikami tekstowymi jest ich porównywanie — czy to dwóch różnych plików, czy też różnych wersji tego samego pliku (choćby po to, aby dowiedzieć się, kto wprowadził zmiany i kiedy)
Wraz z Emacsem dostarczany jest Ediff — całkiem niezłe narzędzie do porównywania plików oraz katalogów.
Odcinek 17: Kto czyta, nie błądzi
2008-07-22, 10:55:58
man (podręcznik) jest szeroko respektowanym standardem w świecie uniksowym — każdy szanujący się projekt dostarcza pliki podręcznika w tym formacie. Drugim popularnym formatem, bardziej jednak znanym i stosowanym w świecie GNU, jest texinfo — hierarchiczny i ściścle ze sobą powiązany system dokumentacji.
Można domniemywać, że skoro Emacs jest dystrybuowany wraz z kompletem dokumentacji w formacie texinfo i elegancką jej przeglądarką, to potrafi także czytać inne strony texinfo niż swoje. A biorąc pod uwagę fakt, że wcześniej czy później Emacs dorobi się obsługi każdego przydatnego narzędzia, które tylko można jakoś oskryptować, to należy przypuszczać, że i obsługa uniksowych manuali jest już w Emacsa wbudowana.
Oba przypuszczenia są słuszne.
Odcinek 18: Lasciate mi cantare
2008-09-08, 22:33:42
Każdy szanujący się artykuł wprowadzający w świat Emacsa wspomina, że Najlepszy Z Edytorów składa się z solidnych fundamentów, napisanych w języku C i nadbudówki w Lispie. A ponieważ rozwój Emacsa trwa cały czas (nocami i w święta państwowe też) należy przypuszczać, iż dla tych dwóch języków opracowano jakieś specjalne udogodnienia (raczej nie należy sądzić, że kod źródłowy Emacsa będzie powstawał w vi bądź Visual Studio...)
Dla języków C, C++ a także Javy i kilku innych opracowano tryb CC Mode — absolutnego faworyta w swojej klasie.
Odcinek 19: Budujemy nowy dom
2008-09-15, 12:46:18
Narzędzie make jest niepisanym standardem w systemach uniksopodobnych, sporą popularnością cieszy się również w środowisku Windows. Edycję plików Makefile w Emacsie wspomaga makefile-mode, który oferuje szereg wartych wzmianki udogodnień.
Oprócz wsparcia dla Makefile Emacs umożliwia także zbudowanie całego programu i obsługę błędów kompilacji.
Odcinek 20: Już witał się z gąską
2009-02-04, 22:06:20
Edycja zdalnych plików? Można to zrobić dwojako: zalogować się na zdalnej maszynie i uruchomić na niej edytor albo uruchomić swój ulubiony edytor na lokalnej maszynie i w automagiczny sposób wyedytować zdalne pliki.
Pierwsza opcja nie wymaga w zasadzie komentarza poza takim, iż nie jest to specjalnie wygodne (lagi; a i zdalny edytor może nie być tym ulubionym); druga jest — w odniesieniu do Emacsa — znacznie bardziej ciekawsza (zwłaszcza, że większość edytorów w tej konkurencji odpada po prostu w przedbiegach)
Odcinek 21: Rozdział cokolwiek TeXniczny
2009-03-04, 22:42:01
Nikogo nie trzeba przekonywać, że TeX i LaTeX nadają się do profesjonalnego składu tekstu jak żaden inny system. Ba, w kręgach akademickich są pewnym standardem; bywa, że wydawnictwa naukowe nie chcą przyjmować publikacji w innym formacie.
Standardowa dystrybucja TeXa dostarcza komplet narzędzi obsługiwanych głównie wsadowo — pozwala to na dowolne przetwarzanie dokumentów, w zależności od potrzeby lub fantazji autora. Nie istnieje żaden oficjalny edytor dedykowany ani środowisko zintegrowane do pisana i przetwarzania dokumentów (La)TeXowych. Ba, żaden z dedykowanych edytorów firm trzecich lub rozwijanych hobbystycznie nie zdobył większej (niż śladowa) popularności.
Dla najpopularniejszych edytorów tekstu napisano już odpowiednie dodatki, które niwelują brak wyspecjalizowanych narzędzi.
Dodatki dla Najlepszego z Edytorów są klasą samą dla siebie. Redagując dokumenty (La)TeXowe w Emacsie łatwo obalić pogląd, iż jest to trudne, pracochłonne, czasochłonne, wymagające specjalistycznej wiedzy (niepotrzebne skreślić)