Emacs – Wiki

Emacs

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji , szukaj
Emacs
Edytor tekstu
Emacs-logo.svg
Logo programu
Emacs.png
Interfejs programu
Producent Projekt GNU
Pierwsze wydanie 1976
Aktualna wersja stabilna 23.4 / 29 stycznia 2012 [1]
Licencja GNU GPL
www.gnu.org/software/emacs/

Emacs to zaawansowany edytor tekstu .

Spis treści

[ edytuj ] Wprowadzenie

Pierwotna wersja Emacsa została napisana w 1974 roku przez programistę z MIT-u , Richarda Stallmana jako zestaw makr dla innego edytora o nazwie TECO (Emacs = Editor MACroS). W roku 1984 Stallman zaczął pisać nową wersję Emacsa, GNU Emacs, który stał się pierwszym programem projektu GNU . W rok później ukazała się wersja GNU Emacs 15.34, która była już oficjalnie dystrybuowana. 23 lutego 2008 roku Richard Stallman napisał na emacs-devel , iż (po około 20 latach opieki nad programem) chciałby powierzyć projekt Stefanowi Monnier i Chongowi Yidong.

Emacs jest przykładem wolnego oprogramowania , a nie jedynie oprogramowania open source .

Emacs składa się z niewielkiego i wydajnego jądra napisanego w C , zawierającego też interpreter dialektu Lispu zwanego Emacs Lisp , oraz z ogromnej nadbudowy napisanej w Lispie i wykonywanej przez to jądro. Dzięki takiej konstrukcji Emacs jest elastyczny, a jego zachowanie można w pełni kontrolować przy użyciu Emacs Lispa .

Rozszerzeniami typowymi dla edytorów programisty , są podświetlanie i automatyczne formatowanie kodu źródłowego , oraz integracja z make , systemami kontroli wersji i kompilatorami . Mniej typowe zastosowania to przeglądanie katalogów, obsługa urządzeń typu modemy , aż do zupełnie nietypowych, jak: graficzna przeglądarka stron WWW , klient poczty elektronicznej , gry komputerowe czy implementacja ELIZY .

Istnieją dwie wersje Emacsa wywodzące się z pierwotnego kodu, znane jako GNU Emacs i XEmacs , oraz ogromna liczba edytorów i innych narzędzi wzorowanych na Emacsie.

Dzięki dodatkowym narzędziom etags i ctags istnieje możliwość szybkiego "poruszania" się po dużych projektach programistycznych.

[ edytuj ] Tryby uruchomieniowe

GNU Emacs może być uruchamiany w dwóch trybach - tekstowym i graficznym. Uruchamiając Emacsa w Terminalu bez środowiska X uruchomi się tryb tekstowy. Natomiast wewnątrz X Window uruchomi się tryb graficzny. Istnieje także możliwość uruchomienia Emacsa w trybie tekstowym w emulatorze terminala w Interfejsie graficznym . Istnieje także możliwość uruchomienia Emacsa jako serwera , w którym wszystkie klienty współdzielą te same bufory [2] .

[ edytuj ] Sekwencje i skróty klawiszowe

W Emacsie każde pojedyncze wciśnięcie klawisza lub sekwencji klawiszy wywołuje funkcję napisaną w języku Emacs Lisp . W większości trybów pojedyncze wciśnięcie klawisza powoduje wywołanie funkcji self-insert-command, która wstawia pojedynczy znak do bufora [3] . Oprócz podstawowych skrótów klawiszowych istnieją także sekwencję rozpoczynające się od C-x (Control + X) lub C+c. Skrót M-x (znak meta lub alt) umożliwia wywołanie dowolnej funkcji w Emacs Lispie , która została utworzona z możliwością wywołania interaktywnego (wewnątrz funkcji musi być wywołanie (interacive)).

[ edytuj ] Przykładowe skróty klawiszowe

Poniższa tabela zawiera kilka podstawowych skrótów klawiaturowych i sekwencji oraz ich standardowe wiązania do funkcji w Emacs Lispie .

Funkcja Skrót klawiszowy Opis
forward-char C-f Przesunięcie o jeden znak do przodu.
backward-char C-b Przesunięcie o jeden znak do tyłu.
backward-line C-p Przesunięcie o jedną linie do góry.
forward-line C-n Przesunięcie o jedną linie w dół.
forward-word M-f Przesunięcie o słowo do przodu.
search-word C-s Szukanie słowa w buforze.
scroll-up C-v Przesunięcie o jeden ekran do góry
scroll-down M-v Przesunięcie o jeden ekran w dół
undo C-/ lub C-x u Cofnięcie ostatniej zmiany.
keyboard-quit C-g Zaniechanie ostatniej komendy.
fill-paragraph M-q Wyrównanie tekstu do lewej krawędzi.
find-file C-x C-f Odwiedzenie pliku (otworzenie lub stworzenie nowego pliku).
save-buffer C-x C-s Zapis aktualnego bufora.
write-file C-x C-w Zapisz jako...
save-buffers-kill-emacs C-x C-c Wyjście z Emacsa.
set-marker C-[space]/C-@ Zaznaczenie tekstu, które chcesz skopiować czy wyciąć.
cut C-w Wycięcie zaznaczonego tekstu.
copy M-w Skopiowanie zaznaczonego tekstu.
paste C-y Wklejenie tekst z schowka.
kill-buffer C-x k Zamknij bufor, jeżeli nie ma podanej nazwy zostanie zamknięty obecny bufor.
save-buffers-kill-terminal C-x C-c Zamknięcie Emacsa

[ edytuj ] Tryby Emacsa

Są to biblioteki programistyczne które dodają jakąś dodatkową funkcjonalność do edytora, zazwyczaj uruchamiane są automatycznie dla określonego typu pliku. Istnieją dwa typy trybów Emacsa główny (Major) i pomniejszy (Minor). Istnieją tryby główne dla większości języków programowania które m.in. kolorują składnie, dodają nowe funkcje, nowe kombinacje klawiszy lub inteligentne "wcinanie" kodu źródłowego . Pomniejsze tryby służą zazwyczaj do dodania jakiejś jednej funkcji np. wyświetlanie zegarka czy liczby wierszy. Dla pojedynczego bufora może być wywołany tylko jeden tryb głównych oraz wiele pomniejszych [2] .

[ edytuj ] Hooks

Służą one do wywoływania odpowiedniego kodu w momencie uruchomienia określonego trybu, np. wewnątrz Hooka dla trybu głównego lisp-mode (uruchamianego dla programów w języku Lisp ) można utworzyć dodatkowe wiązania funkcji (ang. binding) to skrótów klawiszowych, ułatwiające prace z plikami w tym języku.

[ edytuj ] Bufory

W Emacsie wszystkie operacje wykonywane są na buforach. Bufor jest to zazwyczaj plik na dysku , który można wyświetlić wewnątrz okna, który znajduje się w pamięci Emacsa. Buforem może być też zawartość katalogu, strona internetowa czy gra [2] .

[ edytuj ] Mini bufor

Jest to obszar na dole okna wewnątrz którego wyświetlane są wyniki działania komend oraz służy do wprowadzania dodatkowych argumentów dla funkcji [2] .

[ edytuj ] Okna

Oknem (ang. Window) w Emacsie określa się obszar, w którym wyświetlany jest Bufor. Nie należy go mylić z oknem programu uruchomionego w trybie GUI . Wewnątrz pojedynczego okna programu można wyświetlać wiele okien z wyświetlanym buforem. Do dzielenia okna w poziomie służy sekwencja C-x C-3 (wywołująca funkcję split-window-horizontally) natomiast do dzielenia w pionie służy sekwencja C-x C-2 (funkcja split-window-vertically), do usunięcia aktualnego okna służy sekwencja C-x C-0 (funkcja delete-window). W Emacsie można mieć uruchomione dwa okna wyświetlające ten sam bufor - modyfikacja bufora w jednym oknie natychmiastowo uaktualnia drugi bufor. Okna mogą mieć różny rozmiar. Istnieje możliwość uruchomienia emulatora terminala wewnątrz okna [2] .

[ edytuj ] Ramki

Ramką (ang. Frame) określa się okno programu w trybie graficznym w którym może być wiele okien. W trybie tekstowym wyświetlana jest naraz tylko jedna ramka [2] .

[ edytuj ] Etags i ctags

Są to programy, które generują indeksy definicji wewnątrz plików źródłowych . Po wygenerowania pliku Tags dla danego kodu źródłowego, składającego się z wielu plików, można używać skrótu M-. (Meta lub alt i kropka) do przechodzenia z miejsca gdzie wywołano funkcję do miejsca, w którym ta funkcja została zdefiniowana.

[ edytuj ] Zobacz też

Wikibooks-logo.svg
Zobacz publikację na Wikibooks :
Emacs

Przypisy

  1. Emacs 23.4 released ( ang. ). 2011-01-29. [dostęp 2011-02-26].
  2. 2,0 2,1 2,2 2,3 2,4 2,5 GNU Emacs Manual ( ang. ).
  3. B. Lewis, D. LaLiberte, R. Stallman : GNU Emacs Lisp Reference Manual .

[ edytuj ] Linki zewnętrzne


Tusk: Chcemy przekonać Polaków, by serdecznie traktowali gości Euro
Poprzez kampanię promocyjną przed Euro 2012 rząd chce przekonać wszystkich Polaków, aby serdecznie traktowali gości z zagranicy, którzy przyjadą do Polski na mistrzostwa - powiedział w czwartek premier Donald Tusk, pytany o tę kampanię.



Łukaszenka: Czekam na kroki Zachodu
Prezydent Białorusi Alaksandr Łukaszenka oświadczył w czwartek, że czeka na konkretne kroki Zachodu i nie będzie zmieniać stanowiska w sprawie zwolnienia więźniów politycznych. Mówił o tym na spotkaniu z szefem dyplomacji Siarhiejem Martynauem.



Burze na Słońcu. Zobacz niezwykły film
NASA opublikowała wideo przedstawiające burze na Słońcu. Film "nakręcono" w ciągu 24 godzin w październiku zeszłego roku.



Mucha apeluje do Kaczyńskiego o odwołanie czerwcowej miesięcznicy
Apel do prezesa PiS Jarosława Kaczyńskiego, by odwołał obchody miesięcznicy katastrofy smoleńskiej podczas Euro 2012 - wystosowała minister sportu Joanna Mucha. - Minister dała się wciągnąć w grę tworzenia jakiejś psychozy - odpowiada wiceprezes PiS Beata Szydło.



Wyszkowski w procesie o "Bolka" chce przesłuchania ponad 80 świadków
Przesłuchania przed sądem ponad 80 świadków, w tym 25 b. funkcjonariuszy SB, chce b. działacz Wolnych Związków Zawodowych Krzysztof Wyszkowski pozwany przez Lecha Wałęsę za wypowiedź o agenturalnej przeszłości.



Home Page , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,