Mercurial > emacs
changeset 82695:10c6124b8cb7
Move tutorials from etc/ to etc/tutorials/
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Wed, 22 Aug 2007 07:37:07 +0000 |
parents | 5705b831299f |
children | e643be429fed |
files | etc/TUTORIAL.pl |
diffstat | 1 files changed, 0 insertions(+), 1248 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/TUTORIAL.pl Wed Aug 22 07:37:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1248 +0,0 @@ -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