Copyright © 1998 Bob DuCharme
Copyright © 2001 T.Przechlewski i R. Połoński
Spis treści
Emacs (wymawiany „imaks”) pojawił się w 1976 r. jako zestaw makrodefinicji do edycji (stąd nazwa), napisanych przez Richarda Matthew Stallmana dla edytora tekstu TECO na minikomputerze typu DEC PDP-10. Od momentu gdy przeobraził się on w program niezależny od TECO, stał się niesłychanie popularny i szeroko stosowany z dwóch podstawowych powodów: po pierwsze, wolnodostępne wersje Emacsa istnieją prawie na każdej platformie systemowej; po drugie, można go przystosować całkowicie do własnych potrzeb i upodobań.
Wiele edytorów i procesorów tekstu jest reklamowanych, że „można je całkowicie przystosować do potrzeb użytkowników”. Niektóre pozwalają zmienić funkcje przypisane poszczególnym klawiszom oraz zdefiniować serię działań wykonywanych po naciśnięciu pewnej kombinacji klawiszy lub wybraniu pozycji z menu. Czasami ta seria działań może mieć pętle powtarzanych poleceń i instrukcje wykonywane warunkowo. Wtedy zwolennicy takiego edytora określają jego język makropoleceń jako w pełni funkcjonalny język programowania. Stwierdzenie to jest zwykle przesadą, ale nie w przypadku Emacsa.
Towarzyszący Emacsowi język programowania jest znany jako „Emacs LISP”, ponieważ oparty jest na LISPie -- starym języku programowania, który zyskał sławę dzięki wykorzystaniu go w pracach nad sztuczną inteligencją. (Związek między edytorem tekstu a sztuczną inteligencją? Manipulowanie tekstem). Nie musisz uczyć się języka Emacs LISP, aby móc z niego korzystać; wielu użytkowników Emacsa stworzyło własne programy Emacs LISP, dostępne dla każdego kto zechce je uruchomić niezależnie od tego czy rozumie ich składnię czy też nie.
Jeden ze zbiorów programów w Emacs LISP zwany Psgml potrafi czytać i parsować zarówno definicje typu dokumentu (DTD) jak i same dokumenty SGML na tyle dobrze, że zmienia Emacsa w sterowany przez menu edytor SGML. W szczególności Psgml:
potrafi automatycznie wstawiać wymagane elementy;
pomaga w znajdowaniu błędów oznakowania;
wyświetla znaczniki, tekst, komentarze i encje za pomocą różnych fontów czy też kolorów, upraszczając tym samym czytanie tekstu i wyszukiwanie w nim znaczników;
pozwala wprowadzać i zmieniać wartości atrybutów, używając formularzy zawierających informacje o wartościach zadeklarowanych i domyślnych tych atrybutów;
umożliwia, poprzez wybór z systemu rozwijanych menu, uruchomienie wszystkich ważnych funkcji Psgml oraz wstawianie elementów poprawnych w danym kontekście.
Dzięki swojemu autorowi Lennartowi Staflinowi, Psgml jest tak samo wolnodostępny jak Emacs!
W tym rozdziale będziemy najpierw uczyć się podstaw używania Emacsa z jakimikolwiek plikiem tekstowym. Następnie nauczymy się, jak zainstalować Psgml i jak redagować z jego pomocą dokumenty SGML.
Czcigodny wiek Emacsa oznacza, że różne nazwy mogą wydawać się dziwne dla użytkowników przyzwyczajonych do aktualnie używanej terminologii. Ten rozdział objaśnia pojęcia używane tradycyjnie w opisie Emacsa i podaje równoważne pojęcia stosowane w procesorach i edytorach tekstu popularnych współcześnie. Dzięki temu łatwiej zrozumiesz słownictwo wykorzystywane w sytemie pomocy Emacsa i innej literaturze na jego temat.
Wiek i swobodny dostęp do kodu źródłowego Emacsa doprowadził do powstania różnych publicznie dostępnych wersji. Standardową wersją Emacsa jest GNU Emacs, opracowany pod auspicjami Fundacji Wolnego Oprogramowania; czym większe odchylenia w realizacji od wersji GNU Emacs, tym większa szansa, że Psgml nie będzie z nim współpracować. W tym rozdziale używałem GNU Emacs w wersji 19.29.2 dla DOS/EMX i 19.30 dla Window 95 oraz wersji 1.0 alpha 6 Psgml.
Wszystkie wersje Psgml pracują z wersją 19.19 albo z późniejszą GNU Emacs 19.9 lub z X Windows Gnu znanego jako XEmacs (dawniej -- Lucid Emacs). W chwili pisania tej książki najnowsza wersja GNU Emacsa jest oznaczona numerem 19.34.
Staflin zaprojektował Psgml na systemy Uniksowe. Jeżeli masz problemy z uruchomieniem najnowszej wersji w twoim systemie operacyjnym, spróbuj innej wersji Psgml. Dostępnych jest wiele wersji.