Mercurial > emacs
changeset 82718:115ba1ca6c1f
Move tutorials from etc/ to etc/tutorials/
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Wed, 22 Aug 2007 07:40:45 +0000 |
parents | 0b0529241cd1 |
children | 8fe45ed1d897 |
files | etc/tutorials/TUTORIAL.pl |
diffstat | 1 files changed, 1248 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/tutorials/TUTORIAL.pl Wed Aug 22 07:40:45 2007 +0000 @@ -0,0 +1,1248 @@ +Krótki samouczek Emacsa. Warunki kopiowania znajdują sie na końcu pliku. + +Polecenia Emacsa wymagają na ogół wciśnięcia klawisza CONTROL (oznaczanego +czasami Ctrl lub CTL) lub klawisza META (oznaczanego czasami EDIT +albo ALT). Dalej będziemy stosować następujące skróty: + +C-<znak> oznacza przytrzymanie klawisza CONTROL przy naciskaniu + klawisza <znak>. Na przykład C-f będzie odpowiadało + naciśnięciu f przy wciśniętym klawiszu CONTROL. +M-<znak> oznacza przytrzymanie klawisza META lub ALT przy naciskaniu + klawisza <znak>. Zamiast tego można nacisnąć i puścić klawisz + ESC, a potem nacisnąć klawisz <znak>. + +Uwaga: aby zakończyć sesję Emacsa, naciśnij C-x C-c (kolejno dwa znaki). +Znaki ">>" na lewym marginesie oznaczają w dalszej części tego samouczka +ćwiczenia dla Ciebie. Na przykład: +<<Blank lines inserted around following line by help-with-tutorial>> +[Dodatkowe odstępy zostały zrobione w celach dydaktycznych.] +>> Teraz naciśnij C-v (następny ekran), aby przejść na następny ekran + samouczka (zrób to naciskając jednocześnie klawisze CONTROL i v). + Od tego momentu powinieneś robić to zawsze, gdy dojdziesz + do końca ekranu. + +Zwróć uwagę na to, że kilka linii się powtarza, gdy przechodzisz z +ekranu na następny; ma to zapewnić wrażenie ciągłości podczas przesuwania +się w obrębie pliku. + +Pierwszą umiejętnością, która powinieneś opanować, jest sposób +przesuwania się z miejsca na miejsce. Wiesz już, jak przesuwać się +o jeden ekran do przodu. Aby przesunąć się o jeden ekran do tyłu, +wciśnij kombinację klawiszy M-v (to znaczy wciśnij i przytrzymaj +klawisz META lub Alt i jednocześnie naciśnij v albo naciśnij kolejno +klawisze <ESC> v, jeśli nie masz klawisza META lub Alt). + +>> 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żą do przeglądania tekstu po jednym ekranie: + + C-v Przesuń się o jeden ekran do przodu + M-v Przesuń się o jeden ekran do tyłu + 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 pobliżu. + Naciśnij następnie C-l. + Znajdź kursor jeszcze raz i zwróć uwagę, że znajduje się on + w pobliżu tego samego tekstu. + +Możesz także użyć klawiszy PageUp i PageDn, jeśli są dostępne na +Twojej klawiaturze, do przemieszczania się między stronami, ale użycie +C-v i M-v jest bardziej efektywne. + +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 nich przesuwa kursor o jeden wiersz +albo kolumnę w określonym kierunku. Oto schemat, który to obrazuje: + + Poprzednia linia, C-p + (ang. previous line) + : + : + Do tyłu, C-b .... Kursor .... Do przodu, C-f + (ang. back) : (ang. forward) + : + : + Następna linia, C-n + (ang. next line) + +>> Przesuń kursor na środek tego schematu za pomocą C-n lub C-p. + Potem naciśnij 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ł bardzo często, 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 ją +od następnej. Każdy Twój plik powinien się kończyć znakiem nowej +linii (ale Emacs tego nie wymaga). + +>> Spróbuj nacisnąć C-b na początku linii. Powinno Cię to przenieść + na koniec poprzedniej linii. Dzieje się tak dlatego, że kursor + przechodzi wówczas nad znakiem nowej linii. + +C-f przechodzi nad znakiem nowej linii tak samo jak C-b. + +>> Naciśnij kilka razy C-b i obserwuj położenie kursora. + Naciskaj 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 dolną krawędź ekranu, tekst położony +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 dolną granicę ekranu za pomocą C-n + i zobacz, co się stanie. + +Jeśli przesuwanie się o jeden znak na raz jest dla Ciebie zbyt wolne, +to spróbuj przesuwać się o słowa. M-f (Meta-f) przesuwa kursor o słowo +do przodu, a M-b przesuwa go o słowo do tyłu. + +>> Naciśnij kilka razy M-f i M-b. + +Gdy jesteś w środku słowa, to M-f przesuwa kursor na jego koniec. +Jeśli natomiast jesteś w przerwie miedzy słowami, to M-f przesuwa +kursor na koniec następnego słowa. M-b zachowuje się podobnie +dla ruchu 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śniętych w różnych miejscach + wewnątrz i między słowami. + +Zauważ podobieństwo między C-f i C-b oraz M-f i M-b. Bardzo często +kombinacje zawierające Meta (Alt) oznaczają operacje związane +z jednostkami językowymi (słowa, zdania, akapity), podczas gdy +kombinacje z klawiszem Control działają na jednostkach podstawowych, +niezależnych od tego, co edytujesz (znaki, linie, itd.). + +Oto zależność, która 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ś, że powtarzanie C-a nic nie zmienia, natomiast powtórne +M-a przesuwa Cię o jedno zdanie? Chociaż nie ma tu pełnej analogii, +wydaje się to jednak naturalne. + +Położenie kursora w tekście jest określane 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 Do tyłu o jeden znak + + M-f Do przodu o słowo + M-b Do tyłu o słowo + + C-n Następna linia + C-p Poprzednia linia + + C-a Początek linii + C-e Koniec linii + + M-a Do tyłu na początek zdania + M-e Do przodu na koniec zdania + +>> Przećwicz kilka razy dla wprawy wszystkie powyższe polecenia. + Należą one do najczęściej używanych. + +Dwa inne ważne polecenia przesuwające kursor to M-< (Meta lub Alt +i znak mniejszości), które przesuwa kursor na początek całego tekstu +i M-> (Meta lub Alt i znak większości), które przesuwa kursor na koniec +całego tekstu. + +Na większości klawiatur "<" jest nad przecinkiem, musisz więc użyć +klawisza Shift, by nacisnąć "<", i podobnie musisz użyć klawisza Shift, +by nacisnąć M-<. Bez Shift uzyskałbyś M-przecinek. + +>> Naciśnij M-<, by przejść na początek samouczka, a potem kilka razy + użyj C-v, by powrócić do tego miejsca. + +>> Teraz naciśnij M->, by przejść na koniec samouczka, i wróć do tego + miejsca za pomocą kilkakrotnego M-v. + +Jeśli Twoja klawiatura ma klawisze strzałek, to możesz ich użyć do +przesuwania kursora. Radzimy Ci nauczyć się 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 pewną praktykę w +posługiwaniu się Emacsem, to 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, to łatwo przyjdzie Ci nauczyć się +bardziej zaawansowanych poleceń przesuwających kursor. + +Większość poleceń Emacsa akceptuje argument liczbowy; dla większości +poleceń oznacza on liczbę powtórzeń. Aby określić liczbę powtórzeń +polecenia, powinieneś je poprzedzić naciśnięciem C-u a potem cyfr. +Jeśli masz na klawiaturze klawisz META (lub EDIT albo ALT), to +alternatywnym sposobem wprowadzenia argumentu liczbowego jest użycie +tego klawisza i wciskanie cyfr argumentu. Radzimy jednak przyswoić +sobie metodę z klawiszem 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 liczby powtórzeń. +Jest kilka poleceń, które używają go w inny sposób. Do takich wyjątków +należą C-v i M-v. Jeśli poda się im argument, to przesuwają zawartość +ekranu w górę lub w dół o podaną 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ąć ekran w dół, to powinieneś podać argument przed poleceniem M-v. + +Jeśli pracujesz w systemie z okienkowym trybem graficznym, jak X11 +lub MS-Windows, to prawdopodobnie po lewej stronie okna Emacsa znajduje +się prostokątny obszar nazywany po angielsku "scrollbar", a po polsku +suwakiem. Za jego pomocą możesz przewijać tekst, używając do tego myszy. + +>> Spróbuj nacisnąć środkowy klawisz myszy u góry podświetlonego + obszaru na suwaku. To powinno przewinąć tekst do miejsca + określonego przez wysokość, na której nacisnąłeś klawisz myszy. + +>> Przesuń mysz do miejsca oddalonego od górnego końca suwaka o mniej + więcej trzy linie i naciśnij lewy klawisz myszy kilka razy. + + +* GDY EMACS JEST ZABLOKOWANY +---------------------------- + +Jeśli Emacs przestaje odpowiadać na Twoje polecenia, to możesz go +bezpiecznie zatrzymać, przyciskając C-g. Klawisza C-g możesz też użyć do +przerwania polecenia, które zabiera zbyt wiele czasu. + +Możesz także użyć C-g do anulowania argumentu liczbowego albo początku +polecenia, którego nie zamierzasz dokończyć. + +>> Napisz C-u 100 jako argument liczbowy, po czym naciśnij C-g. + Teraz naciśnij C-f. Powinno to przesunąć kursor zaledwie o + jeden znak, ponieważ argument liczbowy anulowałeś za pomocą C-g. + +Za pomocą klawisza C-g możesz też anulować skutki omyłkowego +wciśnięcia klawisza <ESC>. + + +* ZABLOKOWANE POLECENIA +----------------------- + +Pewne polecenia Emacsa są ,,zablokowane'' -- po to, by początkujący +użytkownicy nie mogli ich wywołać przez przypadek. + +Jeśli wywołasz jedno z zablokowanych poleceń, to Emacs wypisze komunikat +informujący o tym, co to za polecenie, i zapyta Cię, czy istotnie chcesz +je wywołać. + +Jeśli naprawdę chcesz wywołać to polecenie, to odpowiedz na pytanie, +naciskając spację. Jeśli nie chcesz wywołać zablokowanego polecenia, +to na pytanie odpowiedz, naciskając n. + +>> Napisz `C-x C-l' (co jest zablokowanym poleceniem) i odpowiedz n + na zadane pytanie. + + +* OKNA +------ + +Emacs może mieć otwartych kilka okien, z których każde wyświetla +własny tekst. Pojęcie ,,okna'', jeśli chodzi o Emacsa, nie odnosi +się do osobnego okienka systemu okienkowego, lecz do pojedynczego +panelu wewnątrz okienka systemowego. (Emacs może też pracować +na kilku oknach systemowych (X-oknach); w terminologii Emacsa +nazywają się one ramkami. 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ą się pojawić w wyniku wywołania Emacsowego +systemu pomocy albo niektórych poleceń. Robi się to w prosty sposób: + + C-x 1 Jedno okno (tzn. zlikwiduj wszystkie pozostałe okna). + +Kombinacja ta to klawisz Control-x, po którym występuje cyfra 1. +Powiększa ona okno, w którym jest kursor tak, by wypełniło ono ekran, +kasując zarazem pozostałe 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 temu poleceniu +poda się argument liczbowy, to będzie to oznaczało ,,odśwież zawartość +ekranu i umieść bieżąca linię o tyle linii od góry ekranu''. Tak więc, +C-u 0 C-1 oznacza ,,odśwież ekran, umieszczając bieżąca linię na samej +górze''.) + +>> Naciśnij Control-x 2 + Zauważ, że okno się kurczy, a jednocześnie pojawia się nowe, + wyświetlające ten sam tekst. + +>> Naciśnij C-x 1, a nowe okno zniknie. + + +* WSTAWIANIE I USUWANIE +----------------------- + +Jeśli chcesz wstawić nowy tekst, to po prostu go napisz. Znaki, które da +się wyświetlić, takie jak A, 7, *, itd., Emacs traktuje jako tekst i +natychmiast wstawia do dotychczasowego tekstu. Aby wstawić znak nowej +linii, trzeba nacisnąć klawisz <Return> (na maszynach do pisania tak +oznaczało się znak powrotu karetki). + +Ostatnio napisany znak możesz skasować, naciskając klawisz <Delback>. +Chodzi tu o klawisz, którego normalnie używasz do skasowania ostatnio +napisanego znaku. Na większości klawiatur wyróżnia się on wielkością, +leży nad klawiszem <Return> i jest oznaczony napisem "Delete", "Del" +albo "Backspace". + +Jeśli masz na klawiaturze klawisz oznaczony "Backspace", to właśnie on +jest wspomnianym <Delback>. Oprócz niego może jeszcze występować +klawisz oznaczony słowem "Delete", ale to nie on pełni rolę <Delback>. + +Mówiąc bardziej ogólnie, <Delback> usuwa znak bezpośrednio +poprzedzający bieżącą pozycję kursora. + +>> Sprawdź to teraz: wstaw kilka znaków, po czym usuń je, kilka razy + naciskając <Delback>. Nie martw się, że zmieniasz w ten sposób + niniejszy plik, w istocie nie zmieniasz głównego pliku samouczka. + Pracujesz teraz na jego kopii. + +Gdy linia tekstu staje się zbyt długa, by zmieścić się w jednym +wierszu ekranu, to jest ona ,,kontynuowana'' w wierszu następnym. +Znak ,,backslash'' (`\') (albo - jeśli pracujesz w okienkowym +trybie graficznym - zagięta strzałka) umieszczony na prawym marginesie +wskazuje, że dana linia jest kontynuowana w następnym wierszu ekranu. + +>> Wpisuj jakiś tekst tak długo, aż dojdziesz do prawego marginesu, i + potem nie przestawaj. Zauważysz, że pojawi się linia kontynuacji. + +>> Użyj klawisza <Delback>, by usunąć znaki tekstu, tak by linia znowu + mieściła się na ekranie; linia kontynuacji zniknie. + +Znak nowej linii można skasować tak jak każdy inny znak. Usunięcie znaku +nowej linii między dwiema liniami spowoduje ich połączenie. Jeśli powstała +w wyniku tego linia tekstu jest zbyt długa, by zmieścić się na szerokość +ekranu, to zostanie wyświetlona z linią kontynuacji. + +>> Przesuń kursor na początek linii i naciśnij <Delback>. Bieżąca + linia zostanie połączona z poprzednią. + +>> Naciśnij <Return>, by z powrotem wstawić znak nowej linii, który + skasowałeś. + +Jak już wiesz, większość poleceń Emacsa można wywołać z parametrem +liczby powtórzeń; dotyczy to także znaków tekstu. Argument liczbowy +powoduje wstawienie znaku odpowiadającą mu liczbę razy. + +>> Wypróbuj to teraz -- naciśnij C-u 8 *, a uzyskasz ********. + +Nauczyłeś się już większej części podstawowych sposobów pisania oraz +poprawiania błędów. W Emacsie możesz usuwać również całe słowa lub +linie. Oto podsumowanie operacji usuwania znaków: + + <Delback> usuń znak bezpośrednio przed kursorem + C-d usuń znak bezpośrednio za kursorem + + M-<Delback> wytnij słowo bezpośrednio przed kursorem + M-d wytnij 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 + +Warto zauważyć, że stosunek <Delete> i C-d do M-<Delete> i M-d +rozszerza analogię występującą w zestawieniu C-f i M-f (<Delete> tak +naprawdę nie jest znakiem sterującym, ale nie jest to tutaj +istotne). C-k i M-k są podobne do C-e i M-e w tym sensie, że linie są +odpowiednikami zdań. + + +Oto metoda wycinania części tekstu. Umieść kursor na początku fragmentu, +który chcesz wyciąć, i naciśnij C-@ lub C-SPC (SPC-spacja). Teraz przejdź +na drugi koniec wybranego fragmentu i naciśnij C-w. To wytnie cały tekst +zawarty między punktami początkowym i końcowym. + +>> Przesuń kursor na literę O na początku poprzedniego paragrafu. + +>> Naciśnij C-SPC. Emacs wyświetli "Mark set" (znacznik ustawiony) + na dole ekranu. + +>> Przesuń kursor do litery o w słowie ,,kursor'' w drugim zdaniu. + +>> Naciśnij C-w. Ta komenda wytnie cały fragment zaczynający się od O, + a kończący tuż przed o. + +Gdy usuwasz więcej niż jeden znak naraz, Emacs zachowuje usunięty +tekst po to, by mógł go z powrotem gdzieś wstawić. Wstawianie +usuniętego tekstu nazywa się ,,wklejaniem''. Usunięty tekst +możesz wkleić zarówno w to samo miejsce, z którego został usunięty, +bądź też w inne miejsca. Ten sam tekst możesz wkleić wielokrotnie, +w celu uzyskania wielu kopii. Poleceniem wklejenia tekstu jest C-y. + +Zauważ różnicę między ,,wycinaniem'' i ,,usuwaniem'', polegającą na tym, +że rzeczy wycięte można na nowo wklejać, usuniętych natomiast wklejać nie +można. Na ogół polecenia Emacsa, które kasują dużo tekstu, zachowują go, +podczas gdy polecenia, które po prostu kasują jeden znak albo puste +linie lub odstępy, skasowanego tekstu nie zachowują. + +>> 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ż, że wycina to znak nowej linii, + który znajduje się za ta linią. + +Zwróć uwagę, że pojedyncze C-k wycina zawartość linii, a powtórne C-k +wycina samą linię, tak że pozostałe linie przesuwają się do góry. C-k +traktuje argument liczbowy w sposób specjalny: wycina ono tyle linii, +ile wynosi wartość argumentu, ORAZ ich zawartość. To nie jest jedynie +powtórzenie kilka razy C-k. C-u 2 C-k wycina dwie linie wraz z ich +znakami 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ę, że jeśli naciśniesz C-k kilka razy z rzędu, to cały wycięty +tekst zostanie zachowywany w jednym kawałku, tak że pojedyncze C-y wklei +wszystkie linie. + +>> Naciśnij C-k kilka razy. + +A 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, że wstawia to ten sam tekst. + +Co zrobić, jeśli chcesz wstawić tekst, który wcześniej wyciąłeś, +a potem wycinasz coś innego? C-y wstawia tekst ostatnio wycięty. +Poprzedni fragment nie jest jednak stracony. Możesz do niego wrócić, +używając polecenia M-y. Naciskając C-y, wstawiasz tekst ostatnio +wycięty, a naciskając M-y, zastępujesz ten tekst wyciętym uprzednio. +Dalsze naciskanie M-y przywołuje coraz wcześniejsze fragmenty tekstu. +Gdy dojdziesz do tekstu, którego szukałeś, po prostu kontynuuj edycję +tekstu, pozostawiając wklejony tekst tam, gdzie się znajduje. + +Naciskając M-y wystarczająco wiele razy, dojdziesz do punktu, +z którego wystartowałeś (czyli tekstu wyciętego ostatnio). + +>> Wytnij jakąś linię, zmień pozycję kursora i wytnij inną. Naciśnij + potem C-y, by wstawić drugą z wyciętych linii. Potem naciśnij M-y + i linia ta zostanie zastąpiona przez tą pierwszą. Naciśnij M-y + jeszcze kilka razy, by zobaczyć, co się dzieje. Powtarzaj to aż + do ponownego pojawienia się drugiej z linii. Możesz też wypróbować, + co się stanie, gdy polecenie M-y poprzedzisz argumentem dodatnim + albo ujemnym. + + +* COFNIJ +-------- + +Jeśli wprowadzisz zmiany do tekstu, a potem dojdziesz do wniosku, że +to była pomyłka, to możesz cofnąć zmiany, wydając polecenie ,,cofnij'' +(ang. undo), C-x u. + +C-x u cofa zmiany wprowadzone przez jedno polecenie; jeśli powtórzysz +C-x u kilka razy z rzędu, to każde powtórzenie cofa kolejne polecenie. + +Od tej reguły są dwa wyjątki: polecenia, które nie zmieniają tekstu nie +liczą się jako polecenia, które można wycofać (dotyczy to zarówno +przesunięć kursora, jak i przewijania tekstu), oraz znaki wstawiane do +tekstu (np. litery) łączone są w grupy do 20. (Redukuje to liczbę +naciśnięć C-x u, które musiałbyś wykonać, by wycofać się z niechcianych +zmian.) + +>> Wytnij tę linię za pomocą C-k, a potem naciśnij C-x u; linia + powinna się pojawić ponownie. + +C-_ jest innym sposobem wywołania polecenia "cofnij"; działa to +dokładnie tak samo jak C-x u, jest jednak łatwiejsze do naciśnięcia +kilka razy z rzędu. Wadą kombinacji C-_ jest to, że nie jest oczywiste +w jaki sposób ją uzyskać na niektórych klawiaturach. To właśnie dlatego +dostępna jest też kombinacja C-x u. Na niektórych terminalach możesz +nacisnąć C-_ poprzez przytrzymanie Ctrl i naciśnięcie /. + +Argument liczbowy podany przed C-_ lub C-x u określa liczbę powtórzeń +tego polecenia. + + +* PLIKI +------- + +Aby edytowany przez Ciebie tekst został na trwałe zachowany, musisz +umieścić go w pliku. Jeśli tego nie zrobisz, to tekst zniknie, gdy +zamknięty zostanie Emacs, za pomocą którego go edytowałeś. Aby zachować +tekst w pliku, najpierw musisz ten plik ,,znaleźć'', i to zanim +zaczniesz wprowadzać tekst. Czynność znajdowania pliku (ang. "file +finding") bywa też nazywana ,,odwiedzaniem pliku'' (ang. "file +visiting"). + +Odwiedzanie pliku w Emacsie powoduje wyświetlenie jego zawartości. +Bardzo często jest to początek edycji pliku. Jednakże zmiany, które +wprowadzasz do pliku, nie są w nim utrwalone, zanim go nie ,,zachowasz'' +(ang. save). Ma to zapobiec pozostawieniu w systemie pliku, który został +zmieniony tylko w połowie, a tego chcesz uniknąć. Gdy zachowujesz +zmieniony plik, Emacs zostawia oryginał (pod inna nazwą) na wypadek, +gdybyś doszedł do wniosku, że wprowadzone zmiany były błędne. + +Jeśli popatrzysz na dół ekranu, to zauważysz linię, która zaczyna się +i kończy myślnikami, a zawiera tekst ,,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 Twoją własną kopią samouczka Emacsa. Obojętnie, który plik +odwiedzisz, właśnie w tym miejscu pojawi się jego nazwa. + +Polecenia służące do odwiedzania i zachowywania plików różnią się +od innych poleceń, które już poznałeś, tym, że składają się 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 oraz rzeczy z nimi związanych. Polecenia +te mają długość dwóch, trzech lub czterech znaków. + +Kolejną nowością odnośnie polecenia odwiedzania pliku jest to, że +musisz mu podać nazwę pliku, który chcesz znaleźć. Mówimy o tym, że +polecenie ,,czyta argument z terminala'' (w tym wypadku argument jest +nazwą pliku). Po wpisaniu polecenia + + C-x C-f znajdź plik (ang. find a file) + +Emacs poprosi Cię o wpisanie nazwy pliku. Pojawia się ona w dolnej linii +ekranu. Gdy ta linia jest używana do wprowadzania tego typu danych, +nazywa się ją ,,minibuforem'' (ang. "minibuffer"). Do edycji nazwy pliku +w minibuforze możesz używać zwykłych poleceń Emacsa. + +Wprowadzanie nazwy pliku (lub jakichkolwiek innych danych w +minibuforze) można anulować klawiszem C-g. + +>> Naciśnij C-x C-f, po czym naciśnij C-g. Na skutek tego zniknie + minibufor oraz przerwane zostanie wykonanie polecenia C-x C-f, które + tego minibufora używało. W rezultacie nie odwiedzisz żadnego pliku. + +Gdy skończysz wpisywać nazwę pliku, naciśnij <Return>. Wówczas +polecenie C-x C-f zabierze się do roboty i znajdzie plik, który +wybrałeś. Z chwilą zakończenia wykonywania polecenia C-x C-f +zniknie też minibufor. + +Zawartość znalezionego pliku po chwili pojawia się na ekranie +i możesz ją edytować. Gdy chcesz zachować zmiany, 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, dodając na +końcu jego nazwy znak ~. W ten sposób powstaje zapasowa kopia +oryginalnego pliku. + +Gdy zachowywanie pliku się kończy, Emacs wypisuje jego nazwę u dołu +ekranu. Pliki powinieneś zachowywać stosunkowo często, aby nie stracić +za dużo w wypadku załamania systemu. + +>> Naciśnij C-x C-s, by zachować dla siebie kopię samouczka. Emacs + powinien wypisać "Wrote ...TUTORIAL" na dole ekranu. + +UWAGA: W niektórych systemach naciśnięcie C-x C-s zamraża ekran i w +rezultacie Emacs nie może pokazywać tekstu. Oznacza to, że składowa +systemu operacyjnego, zwana kontrolą przepływu (ang. flow control), +przechwyciła znak C-s i nie pozwoliła mu dotrzeć do Emacsa. By odzyskać +kontrolę nad ekranem, naciśnij C-q. Dodatkowej pomocy poszukaj w +rozdziale "Spontaneous Entry to Incremental Search" w podręczniku +Emacsa. + +Odwiedzić w celu edycji lub odczytu możesz plik istniejący już w +systemie. Możesz też odwiedzić plik, którego jeszcze nie ma w systemie i +właśnie w taki sposób tworzy się w Emacsie nowe pliki. Gdy poleceniem +C-x C-f odwiedzisz plik o nazwie nieistniejącej w systemie, wówczas +Emacs wyświetli puste miejsce, do którego będziesz mógł zacząć wpisywać +tekst. Gdy zażądasz zachowania wpisanego tekstu, Emacs utworzy w +systemie plik z tym tekstem. Od tego momentu możesz uważać, że edytujesz +plik już istniejący. + + +* BUFORY +-------- + +Jeśli za pomocą C-x C-f odwiedzisz inny plik, to plik odwiedzony +poprzednio pozostanie w Emacsie. Możesz się na niego przełączyć, +odwiedzając go jeszcze raz za pomocą C-x C-f. W ten sposób możesz +mieć w Emacsie odwiedzonych jednocześnie wiele 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 samouczka. + +Emacs przechowuje tekst każdego pliku w obiekcie, zwanym ,,buforem''. +Odwiedzenie pliku powoduje utworzenie nowego bufora 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ę, że każdy bufor ma własną nazwę, może też mieć skojarzoną z +nim nazwę pliku, który odwiedza. KAŻDY tekst, który oglądasz w Emacsie, +jest zawsze częścią jednego z buforów. + +>> Naciśnij C-x 1 by pozbyć się listy buforów. + +Jeśli masz kilka buforów to tylko jeden z nich jest aktualny, ten +który właśnie edytujesz. Jeśli chcesz edytować inny bufer musisz się +do niego "przełączyć" (ang. switch). Jeśli chcesz przełączyć się do +bufora, który odwiedza jakiś plik, możesz to zrobić poprzez ponowne +odwiedzenie pliku za pomocą C-x C-f. Ale istnieje także łatwiejszy +sposób: użyj C-x b. Używając tej komendy musisz podać nazwę bufora, do +którego zamierzasz się przełączyć. + +>> Naciśnij C-x b foo <Return> by wrócić do bufora "foo", który + przechowuje tekst pliku "foo". Następnie naciśnij C-x b TUTORIAL + <Return> by wrócić do samouczka. + +Zwykle nazwa bufora odpowiada nazwie pliku (bez ścieżki), choć czasami +zdarza się inaczej. Lista buforów, którą tworzysz za pomocą C-x C-b +pokazuje nazwy wszystkich buforów. + +KAŻDY tekst, który pojawia się w oknie Emacsa jest częścią jakiegoś +bufora. Niektóre bufory nie odpowiadają żadnemu odwiedzanemu +plikowi. Na przykład bufor "*Buffer List*" nie odwiedza żadnego pliku; +zawiera on listę buforów, utworzoną w reakcji na naciśnięcie przez +Ciebie C-x C-b. Bufor "*Messages*" także nie odwiedza żadnego pliku; +zawiera komunikaty, które pojawiały się podczas Twojej sesji z +Emacsem. + +>> Naciśnij C-x b *Messages* <Return> by obejrzeć bufor zawierający + komunikaty. Następnie naciśnij C-x b TUTORIAL <Return> by wrócić do + samouczka. + +Jeśli zmieniasz tekst w jakimś pliku, a potem odwiedzisz inny plik, to +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 +pozostałe. Jest to bardzo przydatne, ale też oznacza, że potrzebny jest +Ci wygodny sposób zachowywania zawartości buforów. Niewygodne na +przykład byłoby, aby zawsze w celu zachowania bufora trzeba było do +niego przechodzić za pomocą C-x C-f i dopiero potem wywoływać C-x C-s. +Dlatego istnieje polecenie: + + C-x s Zachowaj bufory (ang. save some buffers) + +W reakcji na polecenie C-x s Emacs dla każdego z buforów, w którym +występują nie zachowane do tej pory zmiany, zadaje pytanie, czy go +w tej chwili zachować. + +>> 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. + + +* ROZSZERZANIE ZESTAWU POLECEŃ +------------------------------ + +Poleceń Emacsa jest znacznie, znacznie więcej, niż można by skojarzyć +z klawiszami klawiatury, uwzględniając nawet kombinacje z META lub Ctrl. +Emacs radzi sobie z tym problemem, udostępniając polecenia X (ang. +eXtend). Istnieją dwa rodzaje tych poleceń: + + C-x Rozszerzenie o znak. Następuje po nim jeden znak. + M-x Rozszerzenie o nazwane polecenie. Następuje po nim + pełna, niekiedy długa nazwa polecenia. + +Polecenia te są użyteczne, ale używa się ich nie tak często, jak tych, +których już się nauczyłeś. Miałeś już okazję 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 C-x C-c, które kończy sesję Emacsa. (Nie +martw się, że w ten sposób stracisz zmiany, które wprowadziłeś do +tekstów; przed zamknięciem sesji Emacs proponuje Ci zachowania +każdego ze zmodyfikowanych plików.) + +C-z jest poleceniem, które wychodzi z Emacsa *na chwilę*, tak byś mógł +wrócić do niej wrócić 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 nie ma zawieszania procesów, C-z tworzy proces +podpowłoki (ang. "subshell"), który działa pod Emacsem i daje Ci szansę +uruchamiania innych programów oraz powrotu do Emacsa po ich skończeniu; w +systemach tych C-z w istocie nie powoduje wyjścia z Emacsa i wówczas +normalnym poleceniem powrotu do Emacsa jest wyjście z podpowłoki za +pomocą polecenia "exit". + +Polecenia C-x C-c powinieneś używać, gdy masz zamiar się wylogować. +Zalecane jest także wychodzenie z Emacsa wystartowanego na przykład przez +programy obsługujące pocztę elektroniczną 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, korzystniej 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 już się 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 niektórych trybach. Przykładem może być polecenie +replace-string, które zastępuje jeden łańcuch innym w całym tekście. Gdy +naciskasz M-x, Emacs czeka na dalszy ciąg polecenia, wyświetlając na +dole ekranu (w minibuforze) napis "M-x". Powinieneś tam wpisać nazwę +polecenia, w tym wypadku replace-string. Wystarczy przy tym, że napisz +jedynie repl s<Tab>; Emacs dokończy nazwę automatycznie. Wprowadzanie +nazwy zakończ naciśnięciem klawisza <Return>. + +Polecenie replace-string wymaga dwóch argumentów: łańcucha, który ma +zostać zastąpiony, i łańcucha, który ma zostać wstawiony w miejsce tegoż. +Wpisywanie każdego z tych łańcuchów trzeba zakończyć przyciśnięciem +klawisza <Return>. + +>> Przesuń kursor do czystej linii, dwie linie poniżej tej. + Naciśnij M-x repl s<Return>zmieni<Return>zmodyfikuje<Return>. + + Zwróć uwagę, jak ta linia się zmieniła: 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 +--------------------------- + +Jeśli zmian wprowadzonych do pliku nie zachowasz, to możesz je stracić w +wypadku, gdy Twój komputer przestanie działać. By Cię przed tym +uchronić, Emacs okresowo zachowuje wprowadzone zmiany w specjalnym +pliku, który ma znak # na początku i na końcu swojej nazwy. Przyjmijmy +na przykład, że Twój plik nazywa się "hello.c". Odpowiadający mu plik +zachowywany automatycznie będzie nosił nazwę "#hello.c#". Gdy +zachowasz plik w zwykły sposób, Emacs skasuje plik +zachowany automatycznie. + +Jeśli Twój komputer przestanie działać, możesz odzyskać Twoje dane z +pliku automatycznie zachowanego przez zwykłe odwiedzenie tego pliku, +który edytowałeś (a nie pliku automatycznie zachowanego!) i napisanie +M-x recover file<Return>. Gdy Emacs zapyta o potwierdzenie, to +dane zachowane automatycznie odzyskasz, jeśli odpowiesz yes<Return>. + + +* OBSZAR ECHA +------------- + +Jeśli polecenia dla Emacsa wpisujesz dostatecznie wolno, będą one +pokazywane w specjalnym obszarze na dole ekranu, zwanym obszarem echa +(ang. echo area). Obszar echa zawiera ostatnią dolną linię 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: oznacza ona plik, +który odwiedziłeś. --NN%-- informuje o bieżącej pozycji 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, to zamiast liczby --00%-- zobaczysz w tym miejscu --Top--. +Podobnie dla końca tekstu pojawi się tam napis --Bot-- (ang. bottom). +Jeśli wyświetlasz tekst na tyle krótki, że mieści się w +całości na ekranie, to linia trybu będzie zawierała napis --All--. + +Litera L, po której występują cyfry, także opisuje Twoją bieżącą +pozycję: cyfry oznaczają numer linii, na której obecnie ustawiony jest +kursor. + +Gwiazdki blisko początku linii trybu oznaczają, że wprowadziłeś do +tekstu jakieś zmiany. Tuż po odwiedzeniu, a także po zachowaniu pliku +nie będzie w tym miejscu gwiazdek, lecz myślniki. + +Wewnątrz nawiasów znajdziesz informacje na temat trybu edycji, w +którym właśnie jest Emacs. Domyślnym trybem edycji nazywa się +podstawowym (ang. fundamental); jest to tryb 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. Zostały one zaprojektowane, +aby ułatwić edycję napisów w rozmaitych językach programowania, takich +jak tryb Lisp czy C, oraz rodzajach tekstów, jak tryb tekstowy. 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. Skoro każdy język programowania sam określa, +jak powinien wyglądać komentarz, to każdy z głównych trybów edycyjnych +musi wstawiać komentarze w odpowiedni sposób. Trybowi edycyjnemu +odpowiada nazwa polecenia, które możesz wykonać, by przełączyć się w ten +tryb lub go wyłączyć. 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 samouczka, to prawdopodobnie +powinieneś użyć trybu tekstowego (ang. text mode). + +>> Napisz M-x text-mode<Return>. + +Nie musisz się martwić, bo żadne z poleceń, które do tej pory poznałeś, +nie zmienia Emacsa w poważny sposób. Możesz jednak zauważyć, że 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ń nadal robi ,,to samo'', chociaż +być może w troszeczkę inny sposób. + +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 odczytać dokumentację na temat tego, czym tryb + tekstowy różni się od trybu podstawowego. + +>> Naciśnij q, by usunąć dokumentację trybu z ekranu. + +Główne tryby edycji nazywają się właśnie ,,głównymi'', gdyż występują +także ,,podrzędne'' tryby edycji (ang. minor modes). Podrzędne tryby +edycji nie są alternatywą dla trybów głównych, lecz jedynie ich +niewielką modyfikacją. Każdy podrzędny tryb edycji można włączyć lub +wyłączyć niezależnie od pozostałych trybów podrzędnych, a także +niezależnie od trybu głównego. Możesz wiec używać jednego, +kombinacji dowolnych, albo 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 lub polskiego, jest tryb +automatycznego wypełniania (ang. auto fill mode). Jeśli jest on +włączony, to Emacs łamie linie pomiędzy słowami automatycznie, gdy +podczas wstawiania tekstu linia robi się za szeroka. + +Tryb automatycznego wstawiania włącza się na przykład poleceniem M-x +auto-fill-mode<Return>. Powtórzenie tego polecenie powoduje wyłączenie +trybu, ponowne powtórzenie --- jego włączenie, i tak dalej. Mówimy, że +polecenie ,,przełącza tryb''. + +>> Napisz M-x auto-fill-mode<Return>. Wstaw potem wiele napisów + ,,asdf '' tak długo, aż zobaczysz, że linia podzieli na dwie. + Między literami musisz wstawiać spacje, ponieważ tryb + automatycznego wypełniania łamie linie tylko tam, gdzie są spacje. + +Margines jest zazwyczaj ustawiony na 70 znaków, ale możesz to zmienić +poleceniem C-x f. Powinieneś poleceniu podać 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ż, że 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 z odpowiednim argumentem. + +Jeśli zmieniasz tekst wewnątrz akapitu, to tryb automatycznego +wypełniania sam z siebie nie wyrówna marginesu. Możesz go wyrównać +samodzielnie, wydając polecenie M-q (Meta-q) (kursor powinien się +wówczas znajdować 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 jak i do przodu. Szukanie łańcucha jest poleceniem, +które przesuwa kursor --- do następnego miejsca, w którym dany +łańcuch występuje. + +Polecenie Emacsa "search" różni się od podobnych poleceń w innych +edytorach tym, że jest przyrostowe. Znaczy to, że szukanie odbywa +się w trakcie, gdy wpisujesz kolejne znaki łańcucha, który ma zostać +znaleziony. + +Poleceniami rozpoczynają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, że w obszarze echa pojawi się +tekst "I-search". Jest to informacja, że Emacs znajduje się w trybie +"incremental search" i czeka, byś napisał tekst, który ma znaleźć. +Naciśnięcie <Return> kończy proces szukania. + +>> Rozpocznij teraz szukanie, naciskając C-s. 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 jeszcze raz C-s, by znaleźć następne + wystąpienie słowa kursor. Naciśnij teraz cztery razy <Delback> + i zobacz, co się dzieje z kursorem. Naciśnij <Return>, by skończyć + szukanie. + +Widziałeś, co się działo? Podczas szukania przyrostowego Emacs próbuje +przejść do miejsca wystąpienia łańcucha, który wpisałeś do tej pory, +i podświetla go dla Twojej wygody. By znaleźć następne wystąpienie +słowa kursor, po prostu jeszcze raz naciśnij C-s. Jeśli takiego +wystąpienia nie ma, to Emacs zapiszczy i napisze, że szukanie +,,skończyło się porażką''. + +Kombinacja C-g przerywa proces szukania, podobnie jak to czyni +z innymi poleceniami. + +UWAGA: W niektórych systemach naciśniecie C-s zamraża ekran i w +rezultacie Emacs nie może pokazywać tekstu. Oznacza to, że składowa +systemu operacyjnego, zwana kontrolą przepływu (ang. "flow control"), +przechwyciła znak C-s i nie pozwoliła mu dotrzeć do Emacsa. By odzyskać +kontrolę nad ekranem, naciśnij C-q. Dodatkowej pomocy poszukaj w +rozdziale "Spontaneous Entry to Incremental Search" w podręczniku +Emacsa. + +Jeśli podczas szukania przyrostowego naciśniesz <Delback>, to zauważysz, +że w minibuforze znika ostatni znak wpisanego przez ciebie łańcucha, a +kursor wraca do poprzedniego miejsca. Przypuśćmy na przykład, że +nacisnąłeś k i znalazłeś pierwsze wystąpienie tej litery. Jeśli teraz +naciśniesz u, to kursor przesunie się tuż za najbliższe litery +ku. Naciśnij teraz <Delback>. Spowoduje to skasowanie z wyszukiwanego +łańcucha litery u, a kursor wróci do pierwszego wystąpienia litery k. + +Jeśli podczas szukania naciśniesz jakiś klawisz w kombinacji z META lub +Ctrl (z nielicznymi wyjątkami --- znakami, które mają specjalne +znaczenie podczas szukania, takimi jak C-s i C-r), to szukanie zostanie +przerwane. + +C-s rozpoczyna proces szukania do przodu, czyli ZA bieżącą pozycją +kursora. Jeśli chcesz szukać czegoś położonego w tekście wcześniej, +to naciśnij C-r. Wszystko, co powiedzieliśmy o poleceniu C-s, stosuje +się też do C-r, oczywiście w odniesieniu do szukania wstecz. + + +* WIELE OKIEN +------------- + +Jedną z użytecznych 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 samouczek. Kursor pozostaje w górnym oknie. + +>> Naciśnij C-M-v by przewinąć dolne okno. (Jeśli nie masz + klawisza Meta lub Alt, to 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ć, odczytuj z górnego okna. + +>> 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 kursora, lecz w danej chwili +tylko jedno z okien wyświetla kursor. Wszystkie polecenia edycyjne +stosują się do okna, w którym jest kursor. To okno nazywane jest +,,oknem wybranym''. + +Polecenie C-M-v przyda Ci się, gdy będziesz chciał edytować tekst w +jednym oknie, a drugiego używał jako punktu odniesienia. Dzięki niemu +kursor może zawsze znajdować się w oknie, którego zawartość edytujesz, a +Ty możesz przesuwać drugie okno. + +C-M-v to przykład kombinacji, który uzyskuje się, wciskając jednocześnie +klawisze Ctrl i Meta (Alt). Jeśli masz prawdziwy klawisz META (Alt), to +C-M-v możesz uzyskać przytrzymując jednocześnie Ctrl oraz META (Alt) i +naciskając v. Nie jest ważne, co zostało naciśnięte wcześniej, Ctrl czy +META, ponieważ obydwa te klawisze działają jako modyfikatory znaczenia +znaków. + +Jeśli nie masz klawisza META (Alt) i w jego zastępstwie używasz ESC, to +kolejność naciskania klawiszy ma znaczenie: musisz najpierw nacisnąć i +puścić ESC, po czym nacisnąć Ctrl-v; kombinacja Ctrl-ESC v nie zadziała. +Wynika to z tego, że ESC jest znakiem, a nie modyfikatorem. + +>> Naciśnij C-x 1 (w górnym oknie), by pozbyć się okna dolnego. + +(Jeśli nacisnąłbyś C-x 1 w dolnym oknie, to górne by znikło. Możesz +sobie to polecenie tłumaczyć jako ,,pozostaw tylko jedno okno --- to w +którym właśnie jestem''.) + +Nie musi być tak, że obydwa okna pokazują ten sam bufor. Jeśli użyjesz +C-x C-f, by odwiedzić jakiś plik w jednym z nich, to zawartość drugiego +się nie zmieni. Z zasady w różnych oknach możesz niezależnie wyświetlać +różne pliki. + +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. Mógłbyś na przykład zobaczyć [(Fundamental)] zamiast +(Fundamental). + +By wyjść z rekursywnego poziomu edycji, naciśnij ESC ESC ESC. Jest to +ogólnego przeznaczenia polecenie ,,wychodzimy''. Możesz go użyć także, +by pozbyć się nadmiaru okien albo wyjść z minibufora. + +>> Naciśnij M-x by wejść do minibufora, potem naciśnij ESC ESC ESC, by + z niego wyjść. + +Aby wyjść z rekursywnego poziomu edycji, nie wystarczy użyć C-g. Dzieje +się tak dlatego, że klawisz C-g jest używany do anulowania poleceń i +argumentów WEWNĄTRZ pojedynczego rekursywnego poziomu edycji. + + +SZUKANIE POMOCY +--------------- + +W tym samouczku dostarczyliśmy 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ć. Będziesz +zapewne chciał dowiedzieć się o Emacsie więcej, ponieważ posiada on +wiele pożytecznych cech, o których na razie nic nie wiesz. Między innymi +jest w nim zaszyte mnóstwo wewnętrznej dokumentacji. Dotrzeć do tej +dokumentacji możesz po naciśnięciu kombinacji C-h. + +By uzyskać pomoc, naciśnij C-h, a potem znak, który określa jakiego +rodzaju pomocy oczekujesz. Jeśli poczujesz się NAPRAWDĘ zagubiony, to +napisz C-h?, a Emacs podpowie, jakiego rodzaju pomocy może Ci +dostarczyć. Jeśli naciśniesz C-h, a potem zadecydujesz, że pomoc nie +jest Ci jednak potrzebna, to aby anulować zapoczątkowane polecenie C-h, +po prostu wciśnij C-g. + +Najprostszą pomoc możesz uzyskać naciskając C-h c. Naciśnij C-h a potem +c, po czym kombinację klawiszy, której znaczenie chcesz poznać; Emacs +wyświetli krótki opis polecenia odpowiadającego tej kombinacji. + +>> Naciśnij C-h c C-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'' przypisanej kombinacji +klawiszy. Przydaje się to podczas pisania kodu w Lispie, w którym +zapisane są rozszerzenia Emacsa; wystarcza to także do przypomnienia +Ci, co dane polecenie robi, jeśli widziałeś je już wcześniej, lecz +go nie zapamiętałeś. + +Jako dopełnienie polecenia C-h c Emacs dopuszcza też wieloznakowe +kombinacje klawiszy, na przykład C-x C-s albo (jeśli nie masz klawisza +META lub Alt) <ESC>v. + +By uzyskać więcej informacji na temat polecenia, naciśnij C-h k +zamiast C-h c. + +>> Naciśnij C-h k C-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. + +Podobnie komenda C-h v pokazuje na ekranie dokumentację zmiennych, +których wartości możesz zmienić, aby dostosować Emacsa do swoich +preferencji. Wpisz nazwę zmiennej, gdy Emacs o nią poprosi. + + + C-h a Apropos. Wpisz słowo, a Emacs wypisze listę + wszystkich poleceń, których nazwa zawiera to słowo. + Polecenia te można wywoływać za pomocą Meta-x. + Dla niektórych poleceń Apropos wypisze jedno- lub + dwuznakowe sekwencje, które wywołują te polecenia. + +>> 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". + +>> Napisz C-M-v, aby przewinąć okno pomocy. Zrób to kilka razy. +>> Napisz C-x 1, aby usunąć okno pomocy. + + C-h i Czytanie elektronicznych podręczników (w formacie Info). To + polecenie przełączy Cię do specjalnego bufora o nazwie + *info*, gdzie będziesz mógł przeczytać podręczniki + dotyczące pakietów zainstalowanych w Twoim + systemie. Napisz m emacs <Return>, aby zapoznać się z + podręcznikiem Emacsa. Jeżeli nigdy wcześniej nie używałeś + trybu Info, to napisz ?, a Emacs przedstawi Ci możliwości + tego trybu. Po tym, jak zapoznasz się z niniejszym krótkim + samouczkiem, w dalszej pracy dostęp do dokumentacji + będziesz uzyskiwał właśnie za pomocą Emacs Info. + + +DODATKOWE FUNKCJE +----------------- + +Więcej o Emacsie możesz się nauczyć czytając jego podręcznik, w formie +książkowej lub on-line w postaci Info (użyj menu Help lub naciśnij F10 +h r). Dwie dodatkowe właściwości, które szczególnie mogą się przydać +to dopełnianie wprowadzanych danych i dired ułatwiające zarządzanie +plikami. + +Dopełnianie pozwala uniknąć niepotrzebnego wpisywania. Na przykład +jeśli chcesz się przełączyć do bufora *Messages*, możesz nacisnąć C-x +b *M<Tab> a Emacs dopełni dalszą część nazwy za Ciebie na tyle, na ile +będzie w stanie ustalić na podstawie tego, co do tej pory wpisałeś. Dopełnianie +jest opisane w Info w podręczniku Emacsa w części zatytułowanej +"Dopłnianie" (ang. Completion). + +Dired umożliwia Ci zrobienie wykazu plików w danym katalogu (dodatkowo +w podkatalogach), przemieszczanie się wewnątrz tej listy, odwiedzanie +plików, zmienianie nazw, usuwanie i inne operacje na plikach. Dired +jest opisane w Info w podręczniku Emacsa w części zatytułowanej +"Dired". + +Podręcznik dodatkowo opisuje wiele innych właściwości Emacsa. + + +* KIEROWANIE KURSOREM Z X TERMINALA (akapit dodany przez autorów wersji polskiej) +----------------------------------- + +Jeśli pracujesz na terminalu graficznym, to do kierowania kursorem +prawdopodobnie łatwiej Ci będzie używać klawiszy strzałek po prawej +stronie klawiatury. 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, to przeniosą Cię one na początek i, +odpowiednio, na koniec linii, a C-Home i C-End na początek i koniec +pliku. Jeśli na Twojej klawiaturze są klawisze PgUp i PgDn, to możesz +ich użyć do przesuwania się o jeden ekran, tak jak M-v i C-v. + +Wszystkie te polecenia akceptują argument liczbowy, tak jak to +opisano powyżej. Wpisanie argumentu możesz sobie uprościć: +naciśnij i trzymaj CONTROL lub META i wpisz liczbę. Na +przykład, aby przesunąć kursor o 12 słów w prawo, naciśnij C-1 C-2 +C-prawo. Zwróć uwagę, że jest to łatwe do wpisania, ponieważ nie +musisz puszczać klawisza CONTROL podczas wpisywania cyfr. + + +* UŻYWANIE MENU (akapit dodany przez autorów wersji polskiej) +--------------- + +Jeśli pracujesz na X-terminalu, to u góry okna Emacsa powinieneś zauważyć +pasek z menu. Tego menu możesz używać, by wywoływać najczęściej +potrzebne polecenia Emacsa, takie jak "find file". Na początku będziesz +sądził, że jest to łatwiejsze niż używanie klawiatury, ponieważ nie +musisz się na pamięć uczyć kombinacji klawiszy, które uruchamiają +poszczególne polecenia. Gdy już jednak poznasz Emacsa, to zaczniesz +sobie te kombinacje przyswajać --- dla wygody przy pozycjach menu +pokazywane są odpowiadające im kombinacje klawiszy. + +Zwróć uwagę, że niektóre pozycje występujące w menu nie mają +odpowiedników klawiszowych. Na przykład pozycja "Buffers" powoduje +wyświetlenie listy wszystkich dostępnych buforów. Do każdego z nich +możesz się przełączyć, wybierając jego nazwę, wyświetloną pod pozycją +Buffers. + + +PODSUMOWANIE +------------ + +Pamiętaj, że by wyjść z Emacsa na stałe, trzeba wydać polecenie C-x C-c. +By wyjść do powłoki na chwilę tak, by jeszcze Do Emacsa wrócić, trzeba +użyć C-z. (To nie działa pod X-Windows, ponieważ tam nie ma prawdziwego +konceptu przejścia na chwilę do powłoki. Zamiast tego C-z ,,ikonizuje'' +okno Emacsa.) + +Ten samouczek 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 samouczek jest potomkiem w długiej linii samouczkó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 w celu uwzględnienia +pracy pod X-Windows. + +Autorem pierwszego tłumaczenia na język polski był Remek Trzaska +<remek@npac.syr.edu>, a pomagał mu Ryszard Kubiak +<rysiek@ipipan.gda.pl>. Tamto tłumaczenie zostało uaktualnione dla +wersji GNU Emacs 21 przez Beatę Wierzchołowską <beataw@orient.uw.edu.pl> +z pomocą Ryszarda Kubiaka i Janusza S. Bienia <jsbien@mail.uw.edu.pl>. + +Ta wersja samouczka, podobnie jak GNU Emacs, jest chroniona prawem +autorskim, ale wolno ją kopiować pod następującymi warunkami: + +Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004, + 2005, 2006, 2007 Free Software Foundation, Inc. + +Zezwala się na wykonywanie lub rozpowszechnianie +wiernych kopii tego dokumentu w otrzymanej formie, na dowolnym +nośniku, pod warunkiem zachowania informacji o +prawach autorskich i niniejszym zezwoleniu oraz pod +warunkiem, że dystrybutor udzieli odbiorcy pozwolenia na +dalsze rozpowszechnianie zgodnie z niniejszym zezwoleniem. + + +Zezwala się również na rozpowszechnianie na warunkach podanych +powyżej zmodyfikowanych wersji tego dokumentu lub jego części, +pod warunkiem, że zostaną wyraźnie uwidocznione +informacje o tym, kto dokonał modyfikacji jako ostatni. + + +Warunki kopiowania samego Emacsa są bardziej skomplikowane, ale zgodne +z tą ideą. Proszę, przeczytaj plik COPYING, po czym rozdaj swoim +znajomym kopie Emacsa. Pomóż tępić obstrukcjonizm w informatyce, +używając, tworząc i dzieląc się oprogramowaniem swobodnym. + +;;; Local Variables: +;;; mode: fundamental +;;; coding: latin-2 +;;; sentence-end-double-space: nil +;;; End: + +;;; arch-tag: 6c6b7445-4cd5-44ca-a101-7f4697b92f60