1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00
emacs/etc/TUTORIAL.pl
2001-08-23 10:44:10 +00:00

1189 lines
50 KiB
Perl

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