Mercurial > emacs
view etc/TUTORIAL.pl @ 30217:887b4d52a334
(internal_condition_case_2): New function.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 14 Jul 2000 13:57:10 +0000 |
parents | e96ffe544684 |
children | e7e9b4581430 |
line wrap: on
line source
Copyright (c) 1985 Free Software Foundation, Inc. -*-text-*- Szczegóły na końcu pliku. Czytasz właśnie krótki podręcznik Emacsa. Polecenia Emacsa ogólnie wymagają wciśnięcia klawisza CONTROL (czasami oznaczanego CTRL lub CTL) lub klawisza META (czasami oznaczanego EDIT lub ALT). Zamiast pisać META czy CONTROL za każdym razem, gdy masz przycisnąć ten klawisz, używać będziemy następujących skrótów: C-<znak> oznacza trzymanie klawisza CONTROL podczas wciskania klawisza <znak>. Na przykład C-f będzie odpowiadało naciśnięciu f, podczas gdy klawisz CONTROL był wciśnięty. M-<znak> oznacza trzymanie klawisza META wciśniętego podczas wciskania klawisza <znak>. Jeśli nie masz klawisza META, naciśnij i puść klawisz ESC, a potem naciśnij klawisz <znak>. Uwaga: by zakończyć sesje Emacsa naciśnij C-x C-c (dwa znaki). Znaki ">>" na lewym marginesie w dalszej części tego podręcznika oznaczają ćwiczenia dla Ciebie. Na przykład: <<Blank lines inserted here by startup of help-with-tutorial>> >> Teraz naciśnij C-v (następny ekran), by przejść na następny ekran podręcznika (zrób to naciskając jednocześnie klawisz CONTROL i v). Od tego momentu powinieneś robić to zawsze, gdy dojdziesz do końca ekranu. Zwróć uwagę na to, ze kilka linii powtarza się, gdy przechodzisz z ekranu na ekran; zachowanie to ma zapewnić pewna ciągłość podczas przesuwania się w obrębie pliku. Pierwsza umiejętnością, która powinieneś opanować, jest sposób przesuwania się z miejsca na miejsce. Już wiesz, jak przesuwać się o jeden ekran do przodu. By przesunąć się o jeden ekran do tylu, wciśnij M-v (wciśnij META i naciśnij v, lub naciśnij <ESC>v jeśli nie masz klawisza META lub EDIT). >> Spróbuj nacisnąć M-v, a potem C-v by przesunąć się w przód i w tył kilka razy. PODSUMOWANIE ------------ Następujące polecenia są użyteczne do przeglądania po jednym ekranie: C-v Przesuń się o jeden ekran do przodu M-v Przesuń się o jeden ekran do tylu C-l Wyczyść ekran i wyświetl go na nowo, umieszczając tekst z okolic kursora w środku ekranu. (Ta kombinacja to CONTROL-L, a nie CONTROL-1.) >> Znajdź kursor i zapamiętaj, jaki tekst jest w jego okolicy. Naciśnij następnie C-l. Znajdź kursor jeszcze raz i zwróć uwagę, że znajduje się on w okolicy tego samego tekstu. PODSTAWY KIEROWANIA KURSOREM ---------------------------- Przesuwanie się z ekranu na ekran jest użyteczne, ale jak przejść do określonego miejsca w obrębie jednego ekranu? Można to zrobić na kilka sposobów. Najprostszym jest użycie poleceń C-p, C-b, C-f oraz C-n. Każde z tych poleceń przesuwa kursor o jeden wiersz lub kolumnę w określonym kierunku. Oto schemat, który to obrazuje: Poprzednia linia, C-p (ang. previous line) : : Wstecz, C-b .... Kursor .... Do przodu, C-f (ang. back) : (ang. forward) : : Następna linia, C-n (ang. next line) >> Przesuń kursor na środek schematu za pomocą C-n lub C-p. Naciśnij potem C-l, by zobaczyć cały diagram na środku ekranu. To są podstawowe polecenia kierujące położeniem kursora, których będziesz używać nieustannnie, warto więc je zapamiętać. >> Naciśnij kilka razy C-n, by przesunąć kursor do tej linii. >> Przesuń się w głąb linii za pomocą C-f, a potem do góry za pomocą C-p. Zwróć uwagę na zachowanie się C-p, gdy kursor jest w środku linii. Każda linia tekstu kończy się znakiem nowej linii, który oddziela ja od następnej. Każdy Twój plik powinien kończyć się znakiem nowej linii (ale Emacs nie zmusza Cię do tego). >> Spróbuj nacisnąć C-b na początku linii. Powinno to Cię przenieść na koniec poprzedniej linii. Dzieje się tak dlatego, że kursor przechodzi nad znakiem nowej linii. C-f przechodzi nad znakiem nowej linii tak samo jak C-b. >> Naciśnij kilka razy C-b, byś dostrzegł, gdzie jest kursor. Naciśnij potem C-f, by wrócić na koniec linii. W końcu naciśnij jeszcze raz C-f, by przejść do następnej linii. Gdy przesuwasz kursor poza dolna krawędź ekranu, tekst za krawędzią przesuwa się na ekran (ang. scrolling). Dzięki temu Emacs może przesunąć kursor do określonego miejsca bez umieszczania go poza ekranem. >> Spróbuj przesunąć kursor poza dolna granice ekranu za pomocą C-n i zobacz co się stanie. Jeśli przesuwanie się o jeden znak na raz jest dla Ciebie za wolne, spróbuj przesuwać się o słowa. M-f (Meta-f) przesuwa kursor do przodu o słowo, a M-b przesuwa go do tylu o jedno słowo. >> Spróbuj nacisnąć kilka M-f i M-b. Gdy jesteś w środku słowa, M-f przesuwa kursor na koniec słowa. Jeśli natomiast jesteś w przerwie miedzy słowami, M-f przesuwa kursor na koniec następnego słowa. M-b zachowuje się podobnie, jak chodzi o ruch do tyłu. >> Naciśnij M-f i M-b kilka razy na przemian z C-f i C-b tak, byś mógł zauważyć działanie M-f i M-b naciśnietych w różnych miejscach wewnątrz i pomiędzy słowami. Zauważ podobieństwo pomiędzy C-f i C-b oraz M-f i M-b. Bardzo często kombinacje zawierające Meta opisują operacje związane z jednostkami językowymi (słowa, zdania, akapity), podczas gdy kombinacje oparte o Control działają na podstawowych jednostkach niezależnych od tego, co edytujesz (znaki, linie, itd.). Ta zależność stosuje się do linii i zdań: C-a i C-e przesuwają kursor na początek i koniec linii, a M-a i M-e przesuwają go na początek i koniec zdania. >> Naciśnij kilka razy C-a, a potem kilka razy C-e. Powtórz to z M-a, a potem z M-e. Czy zauważyłeś, ze powtarzanie C-a nic nie zmienia, natomiast powtórne M-a przesuwa Cię o jedno zdanie? Chociaż nie jest to do końca analogiczne, wydaje się jednak naturalne. Położenie kursora w tekście określane jest mianem "punktu". Oto podsumowanie prostych poleceń służących do przesuwania kursora, włącznie z operacjami dotyczącymi słów i zdań: C-f Do przodu o jeden znak C-b W tył o jeden znak M-f Do przodu o słowo M-b W tył o słowo C-n Następna linia C-p Poprzednia linia C-a Początek linii C-e Koniec linii M-a W tył na początek zdania M-e Do przodu na koniec zdania >> Przećwicz kilka razy wszystkie powyższe polecenia dla wprawy. Są one najczęściej używanymi poleceniami. Dwa inne ważne polecenia przesuwające kursor to M-< (Meta i znak mniejszości), które przesuwa kursor na początek całego tekstu i M-> (Meta i znak większości), które przesuwa kursor na koniec całego tekstu. Na większości terminali "<" jest nad przecinkiem, tak wiec musisz użyć klawisza Shift by nacisnąć "<". Musisz wiec także użyć Shift by nacisnąć M-<. Bez Shift byłoby to M-przecinek. >> Naciśnij M-< by przejść na początek podręcznika. Użyj potem C-v kilkukrotnie, by wrócić tutaj. >> Teraz naciśnij M->, by przejść na koniec podręcznika. Wróć do tego miejsca za pomocą kilkukrotnego M-v. Jeśli Twój terminal ma klawisze strzałek, to możesz ich użyć do przesuwania kursora. Zalecamy Ci nauczenie się kombinacji C-b, C-f, C-n i C-p z trzech powodów. Po pierwsze, działają one na wszystkich typach terminali. Po drugie, gdy już zdobędziesz pewna praktykę w posługiwaniu się Emacsem, będzie Ci szybciej nacisnąć te kombinacje niż klawisze strzałek (ponieważ nie wymaga to przenoszenia dłoni z miejsca, które zajmują podczas szybkiego pisania za pomocą 10 palców). Po trzecie wreszcie, gdy już wyrobisz sobie zwyczaj posługiwania się tymi poleceniami z klawiszem Control, będziesz mógł łatwo nauczyć się innych zaawansowanych poleceń przesuwających kursor. Większość poleceń Emacsa akceptuje argument liczbowy; dla większości poleceń służy on jako liczba powtórzeń. Sposób, w jaki określasz liczbę powtórzeń polecenia, to naciśniecie C-u a potem cyfr, zanim naciśniesz polecenie. Jeśli masz klawisz META (lub EDIT lub ALT), alternatywnym sposobem jest wciskanie klawiszy cyfr podczas wprowadzania argumentu liczbowego. Zalecamy nauczenie się metody klawisza C-u, ponieważ działa ona na wszystkich terminalach. Na przykład C-u 8 C-f przesuwa kursor do przodu o osiem znaków. >> Spróbuj użyć C-n i C-p z argumentem liczbowym, by przesunąć kursor do jednej z linii w pobliżu tego zdania za pomocą tylko jednego polecenia. Większość poleceń używa argumentu liczbowego jako liczba powtórzeń. Jest kilka poleceń, które używają go w inny sposób. C-v i M-v są wśród tych wyjątków. Jeśli poda się im argument, przesuwają zawartość ekranu w gore lub w dół o podana liczbę linii zamiast o tyleż ekranów. Na przykład C-u 4 C-v przewija ekran o 4 linie. >> Spróbuj nacisnąć C-u 8 C-v. To powinno było przewinąć ekran do góry o 8 linii. Jeśli chciałbyś przewinąć go w dół, możesz podać argument przed poleceniem M-v. Jeśli używasz systemu X-Windows, prawdopodobnie po lewej stronie okna Emacsa znajduje się prostokątny obszar, nazywany po angielsku "scrollbar". Za jego pomocą możesz przewijać tekst, używając do tego celu myszy. >> Spróbuj nacisnąć środkowy klawisz myszy u góry podświetlonego obszaru na scrollbarze. To powinno przewinąć tekst do miejsca określonego wysokością, na której nacisnąłeś klawisz myszy. >> Przesuń mysz do miejsca oddalonego od górnego końca scrollbaru mniej więcej o trzy linie i naciśnij lewy klawisz myszy kilka razy. * KIEROWANIE KURSOREM Z X TERMINALA ----------------------------------- Jeśli masz X terminal, prawdopodobnie łatwiej Ci będzie używać klawiszy strzałek po prawej stronie klawiatury do kierowania kursorem. Klawisze strzałek w lewo, w prawo, w górę i w dół działają zgodnie z oczekiwaniem; odpowiadają one dokładnie C-b, C-f, C-p i C-n, ale są łatwiejsze do zapamiętania. Możesz także używać C-lewo i C-prawo by przesuwać się o słowa oraz C-góra i C-dół, by przesuwać się o bloki (np. akapity, jeśli edytujesz tekst). Jeśli masz klawisze oznaczone HOME (lub BEGIN) oraz END, zaniosą Cię one na początek i koniec linii, a C-home i C-end na początek i koniec pliku. Jeśli Twoja klawiatura ma klawisze PgUp i PgDn, możesz ich użyć do przesuwania się o jeden ekran za jednym razem, tak jak M-v i C-v. Wszystkie te polecenia akceptują argument liczbowy, jak to jest opisane powyżej. Możesz stosować pewne skróty w celu wpisania tych argumentów: naciśnij i trzymaj CONTROL lub META i wpisz liczbę. Na przykład, by przesunąć kursor o 12 słów w prawo naciśnij C-1 C-2 C-prawo. Zwróć uwagę, ze jest to łatwe do wpisania, ponieważ nie musisz puszczać klawisza CONTROL podczas wciskania klawiszy. * GDY EMACS JEST ZABLOKOWANY ---------------------------- Jeśli Emacs przestaje odpowiadać na Twoje polecenia, możesz go bezpiecznie zatrzymać przyciskając C-g. Możesz użyć C-g do przerwania polecenia, które zabiera zbyt wiele czasu. Możesz użyć C-g także, by anulować argument liczbowy lub początek polecenia, którego nie chcesz dokańczać. >> Napisz C-u 100 jako argument liczbowy, po czym naciśnij C-g. Teraz naciśnij C-f. Powinno przesunąć to kursor o tylko jeden znak, ponieważ anulowałeś argument za pomocą C-g. Jeśli nacisnąłeś <ESC> przez pomyłkę, możesz tego się pozbyć za pomocą C-g. * ZABLOKOWANE POLECENIA ----------------------- Pewne polecenia Emacsa są "zablokowane", tak by początkujący użytkownicy nie mogli ich wywołać przez przypadek. Jeśli wywołasz jedno z zablokowanych poleceń, Emacs wypisze komunikat informujący o tym, co to za polecenie, i zapyta Cię, czy chcesz je wywołać. Jeśli naprawdę chcesz wywołać to polecenie, naciśnij spacje w odpowiedzi na pytanie. Jeśli nie chcesz wywołać zablokowanego polecenia, odpowiedz na pytanie naciskając "n". >> Napisz `C-x n p' (co jest zablokowanym poleceniem) i odpowiedz "n" na zadane pytanie. * OKNA ------ Emacs może mięć kilka okien, każde wyświetlające własny tekst. Zwróć uwagę, ze "okno" jeśli chodzi o Emacsa, nie odnosi się do osobnego okienka systemu okienkowego, ale do pojedynczego panelu wewnątrz okienka systemu X-Windows. (Emacs może mięć kilka X-okien, lub "ramek" w terminologii Emacsa. Opisane jest to poniżej.) Na tym etapie lepiej jest się nie zagłębiać w techniki wykorzystujące kilka okien. Powinieneś jedynie wiedzieć, w jaki sposób pozbyć się nadmiaru okien, które mogą pojawić się jako składniki systemu pomocy lub wynik pewnych poleceń. Robi się to w prosty sposób: C-x 1 Jedno okno (tzn. zabij wszystkie inne okna). Kombinacja ta to Control-x, po którym występuje cyfra 1. C-x 1 powiększa okno, w którym jest kursor tak, by zajęło cały ekran. Kasuje to wszystkie inne okna Emacsa. >> Przesuń kursor do tej linii i naciśnij C-u 0 C-l. (C-l, jak pamiętasz odświeża zawartość ekranu. Jeśli poda się temu poleceniu argument liczbowy, będzie to oznaczało "odśwież zawartość ekranu i umieść bieżąca linie o tyle linii od góry ekranu". Tak wiec C-u 0 C-1 oznacza "odśwież ekran, umieszczając bieżąca linie na samej górze".) >> Naciśnij Control-x 2 Zauważ jak okno się kurczy, podczas gdy nowe okno pojawia się, wyświetlając zawartość tego bufora. >> Naciśnij C-x 1 i nowe okno zniknie. * WSTAWIANIE I USUWANIE ----------------------- Jeśli chcesz wstawiać tekst, po prostu go napisz. Znaki, które da się wyświetlić, takie jak A, 7, *, itd, Emacs traktuje jako tekst i wstawia natychmiast do bufora. Naciśnij <Return> (znak powrotu karetki), by wstawić znak nowej linii. Ostatni znak, który napisałeś możesz skasować przez naciśniecie klawisza <Delete>. Klawisz ten może być oznaczony "Del". W pewnych wypadkach klawisz "Backspace" może służyć za <Delete>, ale nie jest to regułą! Ogólniej, <Delete> usuwa znak bezpośrednio przed bieżąca pozycją kursora. >> Zrób to teraz: wstaw kilka znaków, po czym usuń je za pomaca kilkukrotnego naciśnięcia <Delete>. Nie przejmuj się tym, że zmieniasz ten plik; nie zmienisz w ten sposób głównego pliku podręcznika. To jest Twoja własna kopia. Gdy linia tekstu staje się zbyt długa, by zmieścić się w jednym wierszu na ekranie, jest ona "kontynuowana" w następnym wierszu ekranu. Znak "backslash" (`\') na prawym marginesie pozwala Ci rozpoznać takie linie. >> Wpisuj jakiś tekst tak długo, aż dojdziesz do prawego marginesu, i potem nie przestawaj. Zauważysz, ze pojawi się linia kontynuacji. >> Użyj <Delete> by usunąć tekst tak, by linia znowu mieściła się na ekranie. Linia kontynuacji zniknie. Znak nowej linii może być kasowany tak, jak każdy inny znak. Usuniecie znaku nowej linii łączy je w jedna. Jeśli powstała w wyniku tego linia jest zbyt długa, by zmieścić się na szerokość ekranu, zostanie ona wyświetlona z linią kontynuacji. >> Przesuń kursor na początek linii i naciśnij <Delete>. Bieżąca linia zostanie połączona z poprzednia. >> Naciśnij <Return>, by z powrotem wstawić znak nowej linii, który skasowałeś. Pamiętaj, ze większość poleceń Emacsa może zostać wywołanych z parametrem liczby powtórzeń; dotyczy to także znaków tekstu. Argument liczbowy powoduje wstawienie znaku kilkukrotnie. >> Spróbuj zrobić to teraz -- naciśnij C-u 8 * by uzyskać ********. Nauczyłeś się już większej części podstawowych sposobów pisania oraz poprawiania błędów. W Emacsie możesz usuwać również cale słowa lub cale linie. Oto podsumowanie operacji usuwania znaków: <Delete> usuń znak bezpośrednio przed kursorem C-d usuń znak bezpośrednio za kursorem M-<Delete> wytnij słowo bezpośrednio przed kursorem M-d wytnij następne słowo bezpośrednio za kursorem C-k wytnij zawartość linii od kursora do jej końca M-k wytnij wszystkie znaki od kursora do końca zdania Zauważ, ze <Delete> i C-d w połączeniu z M-<Delete> i M-d rozszerzają regule rozpoczętą przez C-f i M-f (Cóż, <Delete> tak naprawdę nie wymaga wciśnięcia Control, ale pomińmy to milczeniem). C-k i M-k są podobne do C-e i M-e w sensie, że linie są odpowiednikami zdań. Gdy usuwasz więcej niż jeden znak naraz, Emacs zachowuje usunięty tekst tak, byś mógł go gdzieś wstawić z powrotem. Wstawianie usuniętego tekstu to "wklejanie". Możesz wklejać usunięty tekst bądź to w to samo miejsce, z którego został usunięty, bądź to w inne miejsca. Ten sam tekst możesz wklejać kilkukrotnie, w celu uzyskania wielu kopii. Poleceniem, które wkleja tekst jest C-y. Zauważ różnicę pomiędzy "wycinaniem" i "usuwaniem", polegającą na tym, ze wycięte rzeczy mogą być wklejone na nowo, natomiast usunięte nie. W ogólności, polecenia, które kasują dużo tekstu zachowują go, podczas gdy polecenia, które usuwają po prostu jeden znak lub puste linie i przerwy, nie zachowują usuniętego tekstu. >> Przesuń kursor na początek linii, która nie jest pusta. Naciśnij C-k, by wyciąć tekst z tej linii. >> Naciśnij C-k jeszcze raz. Zauważ, ze wycina to znak nowej linii, który znajduje się za ta linia. Zwróć uwagę, ze pojedyncze C-k wycina zawartość linii, a powtórne C-k wycina samą linie tak, że pozostałe linie przesuwają się do góry. C-k traktuje argument liczbowy w specjalny sposób: wycina ono tyle linii ORAZ ich zawartość. To nie jest samo powtarzanie kilka razy C-k. C-u 2 C-k wycina dwie linie i ich znaki nowej linii; dwukrotne naciśniecie C-k nie zrobiłoby tego. By odzyskać ostatnio wycięty tekst i wstawić go w miejsce kursora, naciśnij C-y. >> Twoja kolej. Naciśnij C-y, by z powrotem wstawić tekst. Zwróć uwagę, ze jeśli naciśniesz C-k kilka razy pod rząd, cały wycięty tekst jest zachowywany w jednym kawałku tak, że jedno C-y wklei wszystkie linie. >> Naciśnij C-k kilka razy. By odzyskać ten wycięty tekst... >> ...naciśnij C-y. Przesuń potem kursor o kilka linii w dół i naciśnij C-y jeszcze raz. Widzisz, ze wstawia to ten sam tekst. Co zrobić, jeśli chcesz wstawić tekst, który wcześniej wyciąłeś, a potem wycinasz cos innego? C-y wstawia tekst ostatnio wycięty. Poprzedni fragment nie jest jednak stracony. Możesz wrócić do niego, używając polecenia M-y. Po tym, jak naciśniesz C-y, by wstawić ostatnio wycięty tekst, naciśniecie M-y zastępuje wstawiony tekst poprzednio wyciętym. Dalsze naciskanie M-y przywołuje coraz wcześniejsze fragmenty tekstu. Gdy dojdziesz do tekstu, którego szukałeś, nie musisz robić nic, by został on we właściwym miejscu. Po prostu kontynuuj edycję tekstu, pozostawiając wklejony tekst tam, gdzie się znajduje. Jeśli będziesz naciskał M-y wystarczająco wiele razy, dojdziesz do punktu, z którego wystartowałeś (tekst ostatnio wycięty). >> Wytnij jakąś line, zmień pozycję kursora i wytnij inna. Naciśnij potem C-y by wstawić druga z wyciętych linii. Potem naciśnij M-y, i linia ta zostanie zastąpiona przez ta pierwsza. Naciśnij M-y jeszcze kilka razy, by zobaczyć co się dzieje. Powtarzaj to tak długo, aż druga z linii pojawi się z powrotem. Jeśli chcesz, możesz podąć M-y dodatnie i ujemne argumenty. * COFNIJ -------- Jeśli wprowadzisz zmiany do tekstu, a potem dojdziesz do wniosku, że to była pomyłka, możesz cofnąć te zmiany za pomocą polecenia "cofnij" (ang. undo), C-x u. C-x u cofa zmiany wprowadzone przez jedno polecenie; jeśli powtórzysz C-x u kilka razy pod rząd, każde powtórzenie cofa koleje polecenie. Od tej reguły są dwa wyjątki: polecenia, które nie zmieniają tekstu nie liczą się jako polecenia, które można cofnąć (zarówno przesunięcia kursora, jak i przewijanie tekstu), oraz znaki wstawiane do tekstu (np. litery) łączone są w grupy do 20. (Ma to na celu zredukowanie liczby naciśnięć C-x u, które musiałbyś wykonać, by cofnąć wstawianie tekstu.) >> Wytnij te linie za pomocą C-k, a potem naciśnij C-x u i linia powinna pojawić się tu z powrotem. C-_ jest innym sposobem wywołania polecenia "cofnij"; działa to dokładnie tak samo jak C-x u, jest jedynie łatwiejsze do naciśnięcia kilka razy pod rząd. Wada C-_ jest to, ze nie jest to oczywiste w jaki sposób nacisnąć te kombinacje na niektórych klawiaturach. To właśnie dlatego C-x u jest także dostępne. Na niektórych terminalach możesz nacisnąć C-_ poprzez przytrzymanie CTRL i naciśniecie /. Argument liczbowy podany przed C-_ lub C-x u określa liczbę powtórzeń tego polecenia. * PLIKI ------- Aby edytowny przez Ciebie tekst został nma trwałe zachowany, musisz umieścić go w pliku. W przeciwnym wypadku zniknie on, gdy Emacs w którym go edytowałeś zostanie zamknięty. Zachowywanie Twojego tekstu w pliku nazywane bywa "odwiedzaniem" lub "znajdywaniem" pliku (ang. "visiting" lub "finding"). Odwiedzanie pliku oznacza, że jego zawartość zostaje wyświetlona w Emacsie. Bardzo często sprowadza się to do edycji samego pliku. Jednakże zmiany, które wprowadzasz nie są trwałe do momentu, w którym "zachowasz" plik (ang. save). Zapobiega to sytuacji, w której zostawiasz w systemie plik, który został tylko w połowie zmieniony, a tego nie chcesz zrobić. Nawet wtedy, gdy zachowujesz plik, Emacs zostawia oryginał zachowany pod inna nazwa na wypadek, gdybyś doszedł do wniosku, że wprowadzone zmiany były błędne. Jeśli popatrzysz na dół ekranu, zauważysz linie, która zaczyna i kończy się myślnikami i zawiera tekst "Emacs: TUTORIAL". W tej części ekranu zawsze możesz znaleźć nazwę pliku, który właśnie odwiedzasz. W tej chwili odwiedzasz plik o nazwie "TUTORIAL", który jest Twoja własną kopią podręcznika Emacsa. Obojętnie jaki plik odwiedzisz, jego nazwa pojawi się dokładnie w tym miejscu. Polecenia, które służą do odwiedzania i zachowywania plików różnią się od innych poleceń, które poznałeś tym, że składają się one z dwóch znaków. Obydwa zaczynają się od znaku Control-x. Jest mnóstwo poleceń, które zaczynają się od tego właśnie znaku; wiele z nich dotyczy plików, buforów i z tym związanych rzeczy. Polecenia te mają długość dwóch, trzech lub czterech znaków. Kolejną nowa rzeczą odnośnie polecenia odwiedzania pliku jest to, że musisz mu podąć nazwę pliku, który chcesz znaleźć. Mówimy o tym, że polecenie "czyta argument z terminala" (w tym wypadku argument jest nazwa pliku). Po tym, gdy wpiszesz polecenie C-x C-f znajdź plik (ang. find a file) Emacs poprosi Cię o wpisanie nazwy pliku. Nazwa ta pojawia się w dolnej linii ekranu. Linię tę nazywa się "minibuforem" (ang. "minibuffer") wtedy, gdy jest używana do wprowadzania tego typu danych. Do edycji nazwy pliku używasz zwykłych poleceń Emacsa. Wprowadzanie nazwy pliku (lub jakichkolwiek innych danych w minibuforze) może zostać anulowane za pomocą C-g. >> Naciśnij C-x C-f, po czym naciśnij C-g. Na skutek tego zniknie minibufor oraz przerwane zostanie polecenie C-x C-f, które tego minibufora używało. W rezultacie więc nie odwiedzisz żadnego pliku. Gdy skończysz wpisywać nazwę pliku, naciśnij <Return>, po czym polecenie C-x C-f zabierze się do roboty i znajdzie plik, który wybrałeś. Minibufor znika z chwilą zakończenia wykonywania polecenia C-x C-f. Po chwili zawartość pliku pojawia się na ekranie i możesz ją edytować. Gdy chcesz zachować zmiany, tak by je utrwalić, wydaj polecenie C-x C-s zachowaj plik (ang. save). Kopiuje to tekst z Emacsa do pliku. Za pierwszym razem gdy to robisz Emacs zmienia nazwę oryginalnego pliku poprzez dodanie "~" na końcu jego nazwy. Gdy zachowywanie skończy się, Emacs wypisuje nazwę zapisanego pliku. Pliki powinieneś zachowywać stosunkowo często, tak by nie stracić za dużo w przypadku załamania systemu. >> Naciśnij C-x C-s by zachować swoja kopie podręcznika. Emacs powinien wypisać "Wrote ...TUTORIAL" na dole ekranu. UWAGA: W niektórych systemach naciśniecie C-x C-s zamrozi ekran i nie zobaczysz żadnego tekstu z Emacsa. Oznacza to, że składowa systemu operacyjnego, zwana kontrolą przepływu (ang. flow control) przechwyciła C-s i nie pozwoliła mu dojść do Emacsa. By odzyskać kontrole nad ekranem, naciśnij C-q. Dodatkowej pomocy poszukaj w rozdziale "Spontaneous Entry to Incremental Search" w podręczniku Emacsa. Możesz odwiedzić istniejące pliki w celu ich edycji lub czytania. Możesz także odwiedzić plik, który jeszcze nie istnieje. W ten właśnie sposób tworzy się w Emacsie nowe pliki: odwiedź plik, co da Ci nowe puste miejsce, a potem zacznij wstawiać tekst. Gdy zażądasz zachowania pliku, wtedy Emacs naprawdę utworzy plik z tekstem, który wpisałeś. Od tego momentu możesz uważać, że edytujesz istniejący plik. * BUFORY -------- Jeśli odwiedzisz inny plik za pomocą C-x C-f, poprzedni plik pozostaje w Emacsie. Możesz przełączyć się do niego, odwiedzając go jeszcze raz za pomocą C-x C-f. W ten sposób możesz w Emacsie mięć całkiem dużo plików. >> Utwórz plik o nazwie "foo" za pomocą C-x C-f foo <Return>. Wpisz w niego jakiś tekst i zachowaj "foo" za pomocą C-x C-s. W końcu napisz C-x C-f TUTORIAL <Return>, by wrócić do podręcznika. Emacs przechowuje tekst każdego pliku w obiekcie, zwanym "buforem". Odwiedzenie pliku tworzy nowy bufor wewnątrz Emacsa. By zobaczyć listę buforów, które istnieją w Twoim Emacsie, naciśnij C-x C-b lista buforów (ang. list buffers). >> Naciśnij C-x C-b. Zwróć uwagę, ze każdy bufor ma własną nazwę, może także mieć skojarzoną z sobą nazwę pliku, który zawiera. Pewne bufory nie odpowiadają żadnym plikom. Na przykład bufor "*Buffer List*" nie odwiedza żadnego pliku. Jest to bufor, który zawiera listę buforów stworzona przez Twoje naciśniecie C-x C-b. DOWOLNY tekst, który oglądasz w oknie Emacsa jest zawsze częścią jakiegoś bufora. >> Naciśnij C-x 1 by pozbyć się listy buforów. Jeśli dokonujesz zmian tekstu w jakimś pliku, a potem odwiedzisz inny plik, zawartość tego pierwszego NIE jest automatycznie zachowywana. Zmiany, które wprowadziłeś pozostają w Emacsie, w buforze tegoż pliku. Tworzenie czy edytowanie innego bufora nie ma żadnego wpływu na ten pierwszy. Jest to bardzo przydatne, ale oznacza także, że potrzebny jest Ci wygodny sposób zachowywania zawartości Twoich buforów. Przełączanie się z powrotem do pierwszego bufora zawsze przy wykonywaniu C-x C-f tylko po to, by nacisnąć tam C-x C-s byłoby niewygodne. Dlatego istnieje polecenie: C-x s Zachowaj bufory (ang. save some buffers) C-x s pyta Cię, czy chcesz zachować każdy z buforów, w którym dokonałeś pewnych nie zachowanych jeszcze zmian. >> Wstaw jakąś linię tekstu, a potem naciśnij C-x s. Powinieneś zostać zapytany o to, czy chcesz zachować bufor TUTORIAL. Odpowiedz na to pytanie twierdząco naciskając "y". * UŻYWANIE MENU --------------- Jeśli siedzisz przy X-terminalu zauważysz u góry okna Emacsa pasek menu. Możesz używać menu by dotrzeć do najpopularniejszych poleceń Emacsa, takich jak "find file". Na początku będziesz sądził, ze jest to łatwiejsze niż klawiatura, ponieważ nie musisz uczyć się na pamięć kombinacji klawiszy uruchamiających jakieś polecenie. Gdy już zaznajomisz się z Emacsem, będziesz mógł zacząć uczyć się klawiszy --- elementy menu pokazują kombinacje klawiszy, która wywołuje dane polecenie. Zwróć uwagę, ze pewne polecenia w menu nie maja jednoznacznych odpowiedników klawiszowych. Na przykład menu "Buffers" zawiera listę wszystkich dostępnych buforów. Możesz przełączyć się do dowolnego z nich wybierając jego nazwę z menu Buffers. * UŻYWANIE MYSZY ---------------- Emacs potrafi w pełni wykorzystywać mysz, jeśli tylko jest uruchomiony pod X-Windows. Możesz zmieniać pozycje kursora poprzez naciśniecie lewego klawisza myszy w pożądanym miejscu, możesz także zaznaczać tekst przez przesuniecie myszy z wciśniętym lewym klawiszem nad tekstem, który chcesz zaznaczyć. (Innym sposobem jest kliknięcie na jednym z końców obszaru, przesunięcie myszy na drugi koniec i kliknięcie tam z jednoczesnym wciśnięciem klawisza Shift.) By wyciąć zaznaczony tekst możesz nacisnąć C-w lub wybrać Cut z menu Edit. Zwróć uwagę na to, ze *nie* są to równoważne polecenia: C-w zapamiętuje zaznaczony tekst tylko wewnątrz Emacsa (podobnie jak omówione powyżej C-k), natomiast Cut robi to oraz umieszcza ten tekst w schowku systemu X, skąd może on zostać pobrany przez inne programy. By wkleić tekst ze schowka systemu X-Windows użyj polecenia Paste z menu Edit. Środkowy klawisz myszy jest często używany do wybierania elementów, które są wyświetlone na ekranie. Na przykład, jeśli uruchomisz Info (system dokumentacji Emacsa) naciskając C-h i, lub wybierając ten element z menu Help, przejście podświetlonym połączeniem (ang. link) odbywa się poprzez naciśniecie środkowego klawisza myszy. Podobnie, jeśli wpisujesz nazwę pliku (np. podczas wykonywania "Find File") i naciśniesz TAB, by zobaczyć wszystkie możliwe dokończenia nazwy, możesz wybrać jedno z nich z wyświetlonej listy, właśnie naciskając środkowy klawisz myszy. Prawy klawisz myszy pokazuje lokalne menu. Zawartość tego menu zależy od trybu pracy Emacsa, w którym aktualnie jesteś, i zawiera kilka często używanych poleceń, tak by były one łatwiejsze w dostępie. >> Naciśnij prawy klawisz myszy Prawy klawisz myszy musi być trzymany, by menu nie znikło automatycznie. * ROZSZERZANIE ZESTAWU POLECEN ------------------------------ Poleceń Emacsa jest dużo dużo więcej, niż można by skojarzyć kombinacjami zwykłych klawiszy oraz META czy CTRL. Emacs radzi sobie z tym za pomocą polecenia X (ang. eXtend). Istnieją jego dwa rodzaje: C-x Rozszerzenie o znak. Następuje po nim jeden znak. M-x Rozszerzenie o nazwane polecenie. Następuje po nim pełna długa nazwa polecenia. Polecenia te w ogólności są użyteczne, ale są używane nie tak często jak polecenia, których już się nauczyłeś. Miałeś już okazje poznać dwa z nich: C-x C-f służące do odwiedzania plików oraz C-x C-s do ich zachowywania. Innym przykładem może być polecenie, które kończy sesje Emacsa C-x C-c. (Nie martw się, ze możesz w ten sposób stracić zmiany, które dokonałeś; C-x C-c oferuje Ci możliwość zachowania każdego ze zmodyfikowanych plików przed zamknięciem Emacsa.) C-z jest poleceniem, które wychodzi z Emacsa *na chwile*, tak byś mógł wrócić do tej samej sesji Emacsa po jakimś czasie. W systemach, w których jest to możliwe, C-z zawiesza proces Emacsa; powoduje to powrót do powłoki (ang. shell), ale nie niszczy Emacsa. W najpopularniejszych powłokach możesz wrócić do Emacsa za pomocą polecenia `fg' lub `%emacs'. W systemach, w których zawieszanie procesów nie działa, C-z tworzy proces podpowłoki (ang. "subshell"), który działa pod Emacsem i daje Ci szansę uruchamiania innych programów i powrotu do Emacsa po ich skończeniu; w tych systemach C-z nie wychodzi naprawdę z Emacsa. W tych wypadkach normalnym poleceniem powrotu do Emacsa jest wyjście z podpowłoki za pomocą "exit". Polecenia C-x C-c powinieneś używać, gdy masz się wylogować. Zalecane jest także wychodzenie z Emacsa wystartowanego przez np. programy obsługujące pocztę elektroniczna lub innego rodzaju narzędzia, ponieważ mogą one nie wiedzieć jak sobie poradzić z zawieszeniem Emacsa. Jednakże w zwykłych okolicznościach, jeśli nie musisz wylogowywać się z systemu, lepiej jest zawiesić Emacsa za pomocą C-z niż z niego wyjść. Istnieje wiele poleceń zaczynających się od C-x. Oto lista tych, których się już nauczyłeś: C-x C-f odwiedź plik C-x C-s zachowaj plik C-x C-b wyświetl listę buforów C-x C-c wyjdź z Emacsa C-x u cofnij Poleceń podawanych za pomocą nazwy używa się jeszcze rzadziej lub używa się tylko w pewnych trybach. Przykładem może być polecenie replace-string, które globalnie zastępuje jeden łańcuch innym. Gdy naciskasz M-x, Emacs czeka na ciąg dalszy, wyświetlając "M-x" na dole ekranu. Powinieneś po tym wpisać nazwę polecenia, w tym wypadku "replace-string". Napisz tylko "repl s<TAB>", a Emacs dokończy nazwę. Zakończ wprowadzanie nazwy przez naciśniecie klawisza <Return>. Polecenie replace-string wymaga dwóch argumentów: łańcucha, który ma zostać zastępowany i łańcucha, który ma być wstawiony w miejsce tegoż. Obydwa łańcuchy musza być zakończone przyciśnięciem <Return>. >> Przesuń kursor do czystej linii, dwie linie poniżej tej. Naciśnij M-x repl s<Return>zmieni<Return>zmodyfikuje<Return>. Zwróć uwagę na to, jak ta linia się zmieni: zastąpiłeś słowem "zmodyfikuje" każde wystąpienie słowa z-m-i-e-n-i poniżej początkowej pozycji kursora. * AUTOMATYCZNE ZACHOWYWANIE --------------------------- Gdy wprowadzisz zmiany do pliku i ich nie zachowasz, mogą one zostać stracone, jeśli Twój komputer przestanie działać. By uchronić Cię przed tym, Emacs okresowo zapisuje specjalny plik z wprowadzonymi zmianami. Plik ten ma znak # na początku i na końcu swojej nazwy. Na przykład, załóżmy, ze Twój plik nazywa się "hello.c". Odpowiadający mu plik automatycznie zachowywany będzie nosił nazwę "#hello.c#". Gdy zachowujesz plik w zwykły sposób, Emacs kasuje plik automatycznie zachowany. Jeśli Twój komputer przestanie działać, możesz odzyskać Twoje dane z pliku automatycznie zachowanego przez zwykle odwiedzenie pliku (tego, który edytowałeś, a nie pliku automatycznie zachowanego) i napisanie M-x recover file<return>. Gdy Emacs zapyta o potwierdzenie, napisz yes<return> by odzyskać dane, które zostały automatycznie zachowane. * OBSZAR ECHA ------------- Jeśli polecenia dla Emacsa wpisujesz dostatecznie wolno, zostaną one pokazywane w specjalnym obszarze na dole ekranu, zwanym obszarem echa (ang. echo area). Obszar echa zawiera ostatnia dolna linie ekranu. * LINIA STANU ------------- Linia, która znajduje się bezpośrednio nad obszarem echa, zwana jest "linią trybu" (ang. modeline). Pokazuje ona tekst podobny do następującego: --:** TUTORIAL (Fundamental)--L670--58%---------------- Linia ta podaje użyteczne informacje o stanie Emacsa i tekstu, który edytujesz. Wiesz już, jakie jest znaczenie nazwy pliku: jest to plik, który odwiedziłeś. --NN%-- opisuje Twoja bieżącą pozycje wewnątrz tekstu; oznacza to, że NN procent tekstu znajduje się ponad górnym brzegiem ekranu. Jeśli początek pliku znajduje się na początku ekranu, zamiast liczby --00%-- zobaczysz w tym miejscu --Top--. Podobnie dla końca tekstu pojawi się tam napis --Bot-- (od ang. bottom). Jeśli wyświetlasz tekst na tyle krótki, ze mieści się w całości na ekranie, linia stanu pokaże --All--. Gwiazdki blisko początku linii trybu oznaczają, ze wprowadziłeś do tekstu jakieś zmiany. Bezpośrednio po odwiedzeniu lub po zachowaniu pliku nie będzie w tym miejscu żadnych gwiazdek, a tylko myślniki. Wewnątrz nawiasów znajdziesz informacje na temat trybu edycji, w którym właśnie jest Emacs. Domyślnym trybem edycji jest tryb podstawowy (ang. fundamental), który jest trybem (właśnie w tej chwili używanym--) używanym właśnie w tej chwili. Jest to przykład "trybu głównego" (ang. major mode). Emacs może działać w wielu trybach głównych. Pewne z nich zostały zaprojektowane do edycji rozmaitych języków i/lub rodzajów tekstu, takie jak tryb Lispu, tryb tekstowy, itd. W danej chwili może być aktywny tylko jeden główny tryb pracy, i to jego nazwa jest wyświetlana w linii trybu w miejscu, w którym teraz jest "Fundamental". Każdy z głównych trybów edycyjnych może zmienić zachowanie niektórych poleceń. Na przykład, w Emacsie istnieją polecenia służące do tworzenia komentarzy w programach. Każdy język programowania na swój sposób określa, jak powinien wyglądać komentarz, tak wiec każdy z głównych trybów edycyjnych musi wstawiać komentarze w specyficzny sposób. Każdy tryb edycyjny jest nazwą polecenia, które możesz wykonać, by przełączyć się w ten tryb lub wyłączyć ten tryb. Przykładem może być M-x fundamental-mode, które jest poleceniem przełączającym tryb podstawowy. Jeśli zamierzasz edytować tekst w języku angielskim, taki jak na przykład oryginalna wersja tego podręcznika, prawdopodobnie powinieneś używać trybu tekstowego (ang. text mode). >> Napisz M-x text-mode<Return>. Nie musisz się martwić, żadne z poleceń, które do tej pory poznałeś, nie zmienia Emacsa w poważny sposób. Możesz jednak zauważyć, ze teraz M-f i M-b traktują apostrofy jako części słów. Poprzednio, w trybie podstawowym, polecenia te traktowały apostrofy jako separatory słów. Główne tryby edycji wprowadzają zwykle subtelne zmiany, takie jak opisana powyżej: większość poleceń robi dalej "to samo", robi to jednak w sposób troszeczkę inny. By zobaczyć dokumentację na temat bieżącego głównego trybu edycji, naciśnij C-h m. >> Naciśnij C-u C-v raz lub więcej razy tak, by ta linia znalazła się blisko góry ekranu. >> Naciśnij C-h m, by zobaczyć jak tryb tekstowy różni się od trybu podstawowego. >> Naciśnij q, by usunąć dokumentacje z ekranu. Główne tryby edycji nazywają się "głównymi", ponieważ są także podrzędne tryby edycji (ang. minor modes). Podrzędne tryby edycji nie są alternatywą dla głównych trybów edycji, a jedynie ich niewielką modyfikacją. Każdy podrzędny tryb edycji może zostać włączony lub wyłączony niezależnie od pozostałych podrzędnych trybów edycji oraz niezależnie od głównego trybu edycji. Możesz wiec używać jednego, kombinacji dowolnych, lub nie używać żadnego trybu podrzędnego. Jednym z podrzędnych trybów edycji, który jest bardzo użyteczny szczególnie do edycji tekstu angielskiego, jest tryb automatycznego wypełniania (ang. auto fill mode). Jeśli ten tryb jest włączony, Emacs lamie linie pomiędzy słowami automatycznie, gdy wstawiasz tekst i linia robi się za szeroka. Tryb automatycznego wstawiania włącza się na przykład poprzez wywołanie polecenia M-x auto-fill-mode<Return>. Jeśli ten tryb jest włączony to samo polecenie wyłącza go, i vice versa. Mówimy, ze polecenie to "przełącza ten tryb". >> Napisz M-x auto-fill-mode<Return>. Wstawiaj potem linię pełną "asdf " tak długo, aż zobaczysz, że się podzieli na dwie linie. Musisz wstawić spacje pomiędzy znaki, ponieważ tryb automatycznego wypełniania łamie linie tylko tam, gdzie są spacje. Margines jest zazwyczaj ustawiony na 70 znaków, ale możesz go zmienić za pomocą polecenia C-x f. Powinieneś podać mu argument liczbowy mówiący, w której kolumnie ma zostać ustawiony margines. >> Wywołaj C-x f z argumentem równym 20. (C-u 2 0 C-x f). Napisz potem jakiś tekst i zauważ, ze Emacs wypełnia linie do długości co najwyżej 20 znaków. Ustaw margines z powrotem na 70 znaków, wywołując jeszcze raz C-x f. Jeśli dokonujesz zmian wewnątrz akapitu, tryb automatycznego wypełniania nie wyrówna marginesu sam z siebie. By wywołać polecenie wyrównania marginesu, naciśnij M-q (Meta-q), podczas gdy kursor znajduje się wewnątrz akapitu. >> Przesuń kursor do poprzedniego akapitu i naciśnij M-q. * SZUKANIE ---------- Emacs potrafi szukać łańcuchów (zwartych ciągów znaków lub słów) zarówno wstecz jaki i do przodu. Szukanie łańcucha jest poleceniem, które przesuwa kursor; przesuwa ono kursor do następnego miejsca, w którym dany łańcuch występuje. Polecenie Emacsa "search" różni się od podobnych poleceń innych edytorów w tym sensie, ze jest ono przyrostowe. Znaczy to, ze szukanie odbywa się w trakcie, gdy Ty wpisujesz kolejne znaki łańcucha, który ma zostać odnaleziony. Poleceniami zapoczątkowującymi szukanie są: C-s dla szukania w przód oraz C-r dla szukania wstecz. POCZEKAJ PROSZĘ! Nie próbuj ich w tej chwili. Gdy naciśniesz C-s zauważysz, ze tekst "I-search" pojawi się w obszarze echa. Informuje Cię to, że Emacs znajduje się w trybie "incremental search", czekając byś napisał tekst, który ma on znaleźć. Naciśniecie <Return> kończy proces szukania. >> Teraz naciśnij C-s, by rozpocząć szukanie. POWOLI, litera po literze, napisz słowo "kursor", zatrzymując się po każdym znaku i obserwując, gdzie zatrzymuje się kursor. Gdy naciśniesz drugie "r", będzie można powiedzieć, że szukałeś słowa "kursor" jednokrotnie. Naciśnij C-s jeszcze raz, by znaleźć następne wystąpienie słowa "kursor". Naciśnij teraz <Delete> cztery razy i zobacz, co się dzieje z kursorem. Naciśnij <RET>, by skończyć szukanie. Widziałeś, co się działo? Emacs podczas szukania przyrostowego próbuje przejść do miejsca wystąpienia łańcucha, który do tej pory wpisałeś, podświetlając go dla Twojej wygody. By znaleźć następne wystąpienie słowa "kursor", po prostu naciśnij C-s jeszcze raz. Jeśli takiego nie ma, Emacs zapiszczy i powie Ci, ze szukanie "skończyło się porażką". Naciśniecie C-g także przerywa proces szukania. UWAGA: W niektórych systemach naciśniecie C-s zamrozi ekran i nie zobaczysz żadnego tekstu z Emacsa. Oznacza to, że składowa systemu operacyjnego, zwana kontrolą przepływu (ang. "flow control") przechwyciła C-s i nie pozwoliła mu dojsć do Emacsa. By odzyskać kontrole nad ekranem, nacisnij C-q. Dodatkowej pomocy poszukaj w rozdziale "Spontaneous Entry to Incremental Search" w podręczniku Emacsa. Jesli podczas szukania przyrostowego naciśniesz <Delete> zauważysz, ze ostatni znak, który wcisnąłes znika i kursor wraca do poprzedniego miejsca. Na przykład, załóżmy, ze nacisnąłes "k" i znalazłes pierwsze wystąpienie tej litery. Jesli teraz naciśniesz "u", kursor przesunie się do pierwszego wystąpienia "ku". Teraz nacisnij <Delete>. Skasuje to "u" z łańcucha, którego poszukujesz, a kursor wróci do pierwszego wystąpienia "k". Jeśli podczas szukania nacisniesz jakiś klawisz razem z META lub CTRL (z nielicznymi wyjątkami --- znakami, które mają specjalne znaczenie podczas szukania, takimi jak C-s i C-r) szukanie zostanie przerwane. C-s rozpoczyna proces szukania, który poszukuje łańcucha, który znajduje się ZA bieżącą pozycja kursora. Jeśli chcesz szukać czegoś wcześniej w tekście, naciśnij C-r. Wszystko, co powiedzieliśmy o C-s stosuje się do C-r, oczywiście ze zmianą kierunku szukania na wstecz. * WIELE OKIEN ------------- Jedną z przyjemnych cech Emacsa jest możliwość wyświetlania więcej niż jednego okna na raz. >> Przesuń kursor do tej linii i naciśnij C-u 0 C-l. >> Naciśnij teraz C-x 2, co podzieli ekran na dwa okna. Obydwa okna wyświetlają ten podręcznik. Kursor pozostaje w górnym oknie. >> Naciśnij C-M-v by przewinąć dolne okno. (Jeśli nie masz prawdziwego klawisza Meta, naciśnij ESC C-v.) >> Naciśnij C-x o ("o" jak angielskie "other") by przesunąć kursor do dolnego okna. Użyj C-v i M-v w dolnym oknie by przewinąć jego zawartość. Polecenia, które masz wykonać czytaj w górnym oknie. >> Naciśnij C-x o jeszcze raz tak, by kursor wrócił do górnego okna. Kursor w górnym oknie nie zmienił położenia. Każde okno pamięta położenie swojego własnego kursora, lecz tylko jedno okno w danej chwili wyświetla kursor. Wszystkie polecenia edycyjne stosują się do okna, w którym jest kursor. To okno nazywane jest "wybranym oknem". Polecenie C-M-v jest bardzo użyteczne gdy edytujesz tekst w jednym oknie, a drugiego używasz tylko jako punkt odniesienia. Dzięki temu kursor może zawsze znajdować się w oknie, zawartość którego edytujesz, a Ty możesz przesuwać drugie okno za pomocą C-M-v. C-M-v to przykład znaku, który uzyskuje się za pomocą CONTROL-META. Jeśli masz prawdziwy klawisz META, C-M-v możesz uzyskać przytrzymując jednocześnie CTRL oraz META i naciskając v. Nie jest ważne, co zostało naciśniete wcześniej, CTRL czy META, ponieważ obydwa te klawisze działają jako modyfikatory znaczenia klawiszy, które naciskasz. Jeśli nie masz klawisza META i używasz w jego zastępstwie ESC, kolejność naciskania klawiszy jest znacząca: musisz najpierw nacisnąć i puścić ESC, po czym nacisnąć CTRL-v; CTRL-ESC v nie będzie działać. Dzieje się tak dlatego, ze ESC jest znakiem, a nie modyfikatorem. >> Naciśnij C-x 1 (w górnym oknie), by pozbyć się dolnego okna. (Jeśli nacisnąłbyś C-x 1 w dolnym oknie, to znikłoby górne. Możesz sobie tłumaczyć to polecenie jako "zatrzymaj tylko jedno okno --- to w którym właśnie jestem".) Nie musisz wyświetlać tego samego bufora w obydwu oknach. Jeśli użyjesz C-x C-f by wyświetlić plik w jednym z okien, zawartość drugiego nie zmieni się. W każdym oknie możesz wyświetlać różne pliki niezależnie. Oto inny sposób używania dwóch okien do wyświetlania dwóch różnych rzeczy: >> Naciśnij C-x 4 C-f i nazwę jednego z Twoich plików. Zakończ wprowadzanie klawiszem <Return>. Podany plik pojawi się w dolnym oknie razem z kursorem, który tam przeskakuje. >> Naciśnij C-x o, by wrócić do górnego okna, oraz C-x 1 by usunąć dolne okno. * REKURSYWNE POZIOMY EDYCJI --------------------------- Czasami możesz znaleźć się w czymś, co nazywa się "rekursywnym poziomem edycji". Możesz to rozpoznać po nawiasach kwadratowych w linii trybu, obejmujących nawiasy okrągłe zawierające nazwę głównego trybu edycji. Na przykład, mógłbyś widzieć [(Fundamental)] zamiast (Fundamental). By wyjść z rekursywnego poziomu edycji naciśnij ESC ESC ESC. Jest to ogólnego przeznaczenia "wychodzimy". Możesz go użyć także by pozbyć się nadmiaru okien lub wyjść z minibufora. >> Naciśnij M-x by wejść do minibufora; naciśnij potem ESC ESC ESC, by z niego wyjść. Nie możesz użyć C-g, by wyjść z rekursywnego poziomu edycji. Dzieje się tak dlatego, ze C-g jest używane do anulowania poleceń i argumentów WEWNĄTRZ rekursywnego poziomu edycji. SZUKANIE DODATKOWEJ POMOCY -------------------------- W tym podręczniku spróbowaliśmy dostarczyć tylko tyle informacji, ile jest niezbędne, byś mógł zacząć używać Emacsa. Emacs jest istną kopalnią najróżniejszych rzeczy, których nie sposób tutaj opisać. Zapewne będziesz chciał dowiedzieć się więcej o Emacsie, ponieważ posiada on wiele pożądanych cech, o których na razie nic nie wiesz. Jest w nim zaszyte mnóstwo wewnętrznej dokumentacji, która może być osiągnięta za pomocą Control-h, które określamy mianem "znaku pomocy" z powodu spełnianej przez niego roli. By uzyskać pomoc, naciśnij C-h a potem znak, który określa jakiego typu pomocy oczekujesz. Jeśli poczujesz się NAPRAWDĘ zagubiony, napisz C-h ? i Emacs spróbuje powiedzieć Ci, jakiego typu pomocy może Ci dostarczyć. Jeśli naciśniesz C-h a potem zadecydujesz, że pomoc nie jest Ci jednak potrzebna, po prostu wciśnij C-g by anulować C-h. Najprostszą pomoc możesz uzyskać naciskając C-h c. Naciśnij C-h a potem c, po czym kombinacje klawiszy polecenia, i Emacs wyświetli bardzo krótki opis polecenia. >> Naciśnij C-h c Control-p. Powinno to przywołać komunikat, o treści podobnej do C-p runs the command previous-line W ten sposób możesz uzyskać "nazwę funkcji". Przydaje się to podczas pisania kodu w Lispie, który rozszerza Emacsa; wystarcza to także do przypomnienia Ci, co dane polecenie robi, jeśli widziałeś je już wcześniej, ale nie zapamiętałeś go. Polecenia wywoływane za pomocą wieloznakowej kombinacji klawiszy, na przykład C-x C-s oraz (jeśli nie masz klawisza META lub EDIT) <ESC>v, są także dopuszczalne po C-h c. By uzyskać więcej informacji na temat polecenia, naciśnij C-h k zamiast C-h c. >> Naciśnij C-h k Control-p. To polecenie wyświetla dokumentację na temat danej funkcji oraz jej nazwę w oknie Emacsa. Gdy skończysz śledzić wynik tego polecenia naciśnij C-x 1, by pozbyć się tekstu pomocy. Nie musisz tego robić od razu. Możesz wykonać pewne operacje w oparciu o tekst pomocy zanim naciśniesz C-x 1. Oto kilka innych użytecznych wariantów C-h: C-h f Opisz funkcje o podanej nazwie. >> Napisz C-h f previous-line<Return>. Wypisze to na ekranie całą informacje, jaką Emacs ma na temat funkcji, która implementuje polecenie C-p. C-h a Apropos. Wpisz słowo kluczowe, a Emacs wypisze listę wszystkich poleceń, których nazwa zawiera to słowo. Polecenia te mogą zostać wywołane za pomocą Meta-x. Dla niektórych poleceń Apropos wypisze jedno- lub dwuznakowe sekwencje, które wywołują dane polecenie. >> Napisz C-h a file<Return>. Zobaczysz listę wszystkich poleceń, dostępnych za pomocą M-x, które maja słowo "file" w swojej nazwie. Zauważysz tam także polecenia takie, jak C-x C-f oraz C-x C-w, umieszczone obok nazw poleceń "find-file" i "write-file". PODSUMOWANIE ------------ Pamiętaj, że by wyjść z Emacsa na stałe, używaj C-x C-c. By wyjść do powłoki na chwilę tak, byś mógł wrócić, użyj C-z. (To nie działa pod X-Windows, ponieważ tam nie ma prawdziwego konceptu przejścia na chwile do powłoki. Zamiast tego C-z ikonizuje okno Emacsa.) Ten podręcznik był pisany tak, by wszyscy nowi użytkownicy mogli go zrozumieć. Jeśli coś pozostawił niejasnym, nie siedź cicho i nie obwiniaj siebie, tylko daj nam znać! KOPIOWANIE ---------- Niniejszy podręcznik jest potomkiem w długiej linii podręczników Emacsa, która rozpoczyna się od tego, który został napisany przez Stuarta Cracrafta dla oryginalnego Emacsa. Został on zmodyfikowany we wrześniu 1994 przez Bena Winga, który zaktualizował go, jeśli chodzi o X-Windows. Tłumaczenia na język polski dokonał Remek Trzaska z pomocą Ryszarda Kubiaka. Jesli polskie znaki nie byly poprawnie wyswietlane w tym buforze, oznacza to, ze nie masz zainstalowanych polskich fontow. Pomoc w tym zakresie mozesz znalezc pod adresem: <URL:http://www.agh.edu.pl/ogonki> Ta wersja podręcznika, podobnie jak GNU Emacs, jest zastrzeżona, a pozwolenie na kopiowanie udzielone jest pod następującymi warunkami: Copyright (c) 1985, 1994 Free Software Foundation Permission is granted to anyone to make or distribute verbatim copies of this document as received, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice. Permission is granted to distribute modified versions of this document, or of portions of it, under the above conditions, provided also that they carry prominent notices stating who last altered them. Warunki kopiowania samego Emacsa są w pewnym stopniu inne, aczkolwiek zachowują te sama idee. Proszę, przeczytaj plik COPYING, po czym rozdaj swoim znajomym kopie Emacsa. Pomóż zwalczyć przeszkody w rozpowszechnianiu oprogramowania przez tworzenie i dzielenie się oprogramowaniem. ;;; Local Variables: ;;; mode: fundamental ;;; coding: latin-2 ;;; End: