TUTORIAL.pl 52.4 KB
Newer Older
1 2
Krótki samouczek Emacsa.  Warunki kopiowania znajdują sie na końcu pliku.
Copyright (c) 1985, 1996, 1998, 2001, 2002, 2005 Free Software Foundation.
3 4 5

Polecenia Emacsa wymagają na ogół wciśnięcia klawisza CONTROL (oznaczanego
czasami Ctrl lub CTL) lub klawisza META (oznaczanego czasami EDIT
6
albo ALT). Dalej będziemy stosować następujące skróty:
7

8 9
C-<znak> oznacza przytrzymanie klawisza CONTROL przy naciskaniu
	klawisza <znak>. Na przykład C-f będzie odpowiadało
10
	naciśnięciu f przy wciśniętym klawiszu CONTROL.
11 12 13
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>.
14 15

Uwaga: aby zakończyć sesję Emacsa, naciśnij C-x C-c (kolejno dwa znaki).
16
Znaki ">>" na lewym marginesie oznaczają w dalszej części tego samouczka
17
ćwiczenia dla Ciebie. Na przykład:
18 19
<<Blank lines inserted around following line by help-with-tutorial>>
[Dodatkowe odstępy zostały zrobione w celach dydaktycznych.]
20
>> Teraz naciśnij C-v (następny ekran), aby przejść na następny ekran
21 22 23
   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.
Dave Love's avatar
#  
Dave Love committed
24

25 26 27
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.
Dave Love's avatar
#  
Dave Love committed
28

29 30 31 32 33 34
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).
Dave Love's avatar
#  
Dave Love committed
35

36
>> Spróbuj nacisnąć M-v, a potem C-v, by przesunąć się w przód i w tył
37
   kilka razy.
Dave Love's avatar
#  
Dave Love committed
38 39 40 41 42


PODSUMOWANIE
------------

43
Następujące polecenia służą do przeglądania tekstu po jednym ekranie:
Dave Love's avatar
#  
Dave Love committed
44

45 46 47 48 49
	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.)
Dave Love's avatar
#  
Dave Love committed
50

51
>> Znajdź kursor i zapamiętaj, jaki tekst jest w jego pobliżu.
52 53 54
   Naciśnij następnie C-l.
   Znajdź kursor jeszcze raz i zwróć uwagę, że znajduje się on
   w pobliżu tego samego tekstu.
Dave Love's avatar
#  
Dave Love committed
55

56 57 58
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.
Dave Love's avatar
#  
Dave Love committed
59 60 61 62 63 64 65

PODSTAWY KIEROWANIA KURSOREM
----------------------------

Przesuwanie się z ekranu na ekran jest użyteczne, ale jak przejść do
określonego miejsca w obrębie jednego ekranu?

66 67 68 69
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:

70 71
                 Poprzednia linia, C-p
                 (ang. previous line)
72
                         :
73 74 75 76 77 78 79
                         :
    Do tyłu, C-b .... Kursor .... Do przodu, C-f
             (ang. back) : (ang. forward)
                         :
                         :
                  Następna linia, C-n
                   (ang. next line)
80 81

>> Przesuń kursor na środek tego schematu za pomocą C-n lub C-p.
82
   Potem naciśnij C-l, by zobaczyć cały diagram na środku ekranu.
Dave Love's avatar
#  
Dave Love committed
83 84

To są podstawowe polecenia kierujące położeniem kursora, których
85
będziesz używał bardzo często, warto więc je zapamiętać.
Dave Love's avatar
#  
Dave Love committed
86 87 88 89

>> 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ą
90 91
   C-p. Zwróć uwagę na zachowanie się C-p, gdy kursor jest w środku
   linii.
Dave Love's avatar
#  
Dave Love committed
92

93 94 95
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).
Dave Love's avatar
#  
Dave Love committed
96

97
>> Spróbuj nacisnąć C-b na początku linii. Powinno Cię to przenieść
98 99
   na koniec poprzedniej linii. Dzieje się tak dlatego, że kursor
   przechodzi wówczas nad znakiem nowej linii.
Dave Love's avatar
#  
Dave Love committed
100 101 102

C-f przechodzi nad znakiem nowej linii tak samo jak C-b.

103
>> Naciśnij kilka razy C-b i obserwuj położenie kursora.
104 105
   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.
Dave Love's avatar
#  
Dave Love committed
106

107 108 109 110
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.
Dave Love's avatar
#  
Dave Love committed
111

112
>> Spróbuj przesunąć kursor poza dolną granicę ekranu za pomocą C-n
113
   i zobacz, co się stanie.
Dave Love's avatar
#  
Dave Love committed
114

115 116 117
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.
Dave Love's avatar
#  
Dave Love committed
118

119
>> Naciśnij kilka razy M-f i M-b.
Dave Love's avatar
#  
Dave Love committed
120

121 122 123 124
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.
Dave Love's avatar
#  
Dave Love committed
125

126
>> Naciśnij M-f i M-b kilka razy na przemian z C-f i C-b, tak byś
127 128
   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.
Dave Love's avatar
#  
Dave Love committed
129

130 131 132 133 134
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.).
Dave Love's avatar
#  
Dave Love committed
135

136 137 138
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.
Dave Love's avatar
#  
Dave Love committed
139 140

>> Naciśnij kilka razy C-a, a potem kilka razy C-e.
141
   Powtórz to z M-a, a potem z M-e.
Dave Love's avatar
#  
Dave Love committed
142

143 144 145
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.
Dave Love's avatar
#  
Dave Love committed
146

147
Położenie kursora w tekście jest określane mianem "punktu".
Dave Love's avatar
#  
Dave Love committed
148 149 150 151

Oto podsumowanie prostych poleceń służących do przesuwania kursora,
włącznie z operacjami dotyczącymi słów i zdań:

152 153
	C-f Do przodu o jeden znak
	C-b Do tyłu o jeden znak
Dave Love's avatar
#  
Dave Love committed
154

155 156
	M-f Do przodu o słowo
	M-b Do tyłu o słowo
Dave Love's avatar
#  
Dave Love committed
157

158
	C-n Następna linia
159
	C-p Poprzednia linia
Dave Love's avatar
#  
Dave Love committed
160

161 162
	C-a Początek linii
	C-e Koniec linii
Dave Love's avatar
#  
Dave Love committed
163

164 165
	M-a Do tyłu na początek zdania
	M-e Do przodu na koniec zdania
Dave Love's avatar
#  
Dave Love committed
166

167
>> Przećwicz kilka razy dla wprawy wszystkie powyższe polecenia.
168
   Należą one do najczęściej używanych.
Dave Love's avatar
#  
Dave Love committed
169

170 171 172 173
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.
Dave Love's avatar
#  
Dave Love committed
174

175 176 177
Na większości klawiatur "<" jest nad przecinkiem, musisz więc uż
klawisza Shift, by nacisnąć "<", i podobnie musisz użyć klawisza Shift,
by nacisnąć M-<. Bez Shift uzyskałbyś M-przecinek.
Dave Love's avatar
#  
Dave Love committed
178

179 180
>> Naciśnij M-<, by przejść na początek samouczka, a potem kilka razy
   użyj C-v, by powrócić do tego miejsca.
Dave Love's avatar
#  
Dave Love committed
181

182 183
>> Teraz naciśnij M->, by przejść na koniec samouczka, i wróć do tego
   miejsca za pomocą kilkakrotnego M-v.
Dave Love's avatar
#  
Dave Love committed
184

185 186 187 188 189
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
Dave Love's avatar
#  
Dave Love committed
190 191 192
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ę
193 194
tymi poleceniami z klawiszem Control, to łatwo przyjdzie Ci nauczyć się
bardziej zaawansowanych poleceń przesuwających kursor.
Dave Love's avatar
#  
Dave Love committed
195 196

Większość poleceń Emacsa akceptuje argument liczbowy; dla większości
197 198 199 200 201 202 203
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.
Dave Love's avatar
#  
Dave Love committed
204 205

Na przykład C-u 8 C-f przesuwa kursor do przodu o osiem znaków.
206

Dave Love's avatar
#  
Dave Love committed
207
>> Spróbuj użyć C-n i C-p z argumentem liczbowym, by przesunąć kursor
208 209
   do jednej z linii w pobliżu tego zdania za pomocą tylko jednego
   polecenia.
Dave Love's avatar
#  
Dave Love committed
210

211 212 213 214
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.
Dave Love's avatar
#  
Dave Love committed
215 216 217 218
Na przykład C-u 4 C-v przewija ekran o 4 linie.

>> Spróbuj nacisnąć C-u 8 C-v.

219 220
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.
Dave Love's avatar
#  
Dave Love committed
221

222 223 224 225
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.
Dave Love's avatar
#  
Dave Love committed
226 227

>> Spróbuj nacisnąć środkowy klawisz myszy u góry podświetlonego
228 229
   obszaru na suwaku. To powinno przewinąć tekst do miejsca
   określonego przez wysokość, na której nacisnąłeś klawisz myszy.
Dave Love's avatar
#  
Dave Love committed
230

231
>> Przesuń mysz do miejsca oddalonego od górnego końca suwaka o mniej
232
   więcej trzy linie i naciśnij lewy klawisz myszy kilka razy.
Dave Love's avatar
#  
Dave Love committed
233 234 235 236 237


* GDY EMACS JEST ZABLOKOWANY
----------------------------

238 239 240
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.
Dave Love's avatar
#  
Dave Love committed
241

242 243
Możesz także użyć C-g do anulowania argumentu liczbowego albo początku
polecenia, którego nie zamierzasz dokończyć.
Dave Love's avatar
#  
Dave Love committed
244

245
>> Napisz C-u 100 jako argument liczbowy, po czym naciśnij C-g.
246 247
   Teraz naciśnij C-f. Powinno to przesunąć kursor zaledwie o
   jeden znak, ponieważ argument liczbowy anulowałeś za pomocą C-g.
Dave Love's avatar
#  
Dave Love committed
248

249 250
Za pomocą klawisza C-g możesz też anulować skutki omyłkowego
wciśnięcia klawisza <ESC>.
Dave Love's avatar
#  
Dave Love committed
251 252 253 254 255


* ZABLOKOWANE POLECENIA
-----------------------

256
Pewne polecenia Emacsa są ,,zablokowane'' -- po to, by początkujący
Dave Love's avatar
#  
Dave Love committed
257 258
użytkownicy nie mogli ich wywołać przez przypadek.

259 260 261
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ć.
Dave Love's avatar
#  
Dave Love committed
262

263 264 265
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.
Dave Love's avatar
#  
Dave Love committed
266

267
>> Napisz `C-x C-l' (co jest zablokowanym poleceniem) i odpowiedz n
268
   na zadane pytanie.
Dave Love's avatar
#  
Dave Love committed
269 270 271 272 273


* OKNA
------

274 275 276 277 278 279
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.)
Dave Love's avatar
#  
Dave Love committed
280 281

Na tym etapie lepiej jest się nie zagłębiać w techniki wykorzystujące
282 283 284
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:
Dave Love's avatar
#  
Dave Love committed
285

286
	C-x 1 Jedno okno (tzn. zlikwiduj wszystkie pozostałe okna).
Dave Love's avatar
#  
Dave Love committed
287

288 289 290
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.
Dave Love's avatar
#  
Dave Love committed
291 292 293

>> Przesuń kursor do tej linii i naciśnij C-u 0 C-l.

294 295 296 297 298
(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''.)
Dave Love's avatar
#  
Dave Love committed
299 300

>> Naciśnij Control-x 2
301 302
   Zauważ, że okno się kurczy, a jednocześnie pojawia się nowe,
   wyświetlające ten sam tekst.
Dave Love's avatar
#  
Dave Love committed
303

304
>> Naciśnij C-x 1, a nowe okno zniknie.
Dave Love's avatar
#  
Dave Love committed
305 306 307 308 309


* WSTAWIANIE I USUWANIE
-----------------------

310 311
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
312
natychmiast wstawia do dotychczasowego tekstu. Aby wstawić znak nowej
313 314
linii, trzeba nacisnąć klawisz <Return> (na maszynach do pisania tak
oznaczało się znak powrotu karetki).
Dave Love's avatar
#  
Dave Love committed
315

316 317 318 319 320 321 322 323 324
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>.
Dave Love's avatar
#  
Dave Love committed
325

326 327
Mówiąc bardziej ogólnie, <Delback> usuwa znak bezpośrednio
poprzedzający bieżącą pozycję kursora.
Dave Love's avatar
#  
Dave Love committed
328

329 330
>> 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
331
   niniejszy plik, w istocie nie zmieniasz głównego pliku samouczka.
332
   Pracujesz teraz na jego kopii.
Dave Love's avatar
#  
Dave Love committed
333 334

Gdy linia tekstu staje się zbyt długa, by zmieścić się w jednym
335
wierszu ekranu, to jest ona ,,kontynuowana'' w wierszu następnym.
336 337
Znak ,,backslash'' (`\') (albo - jeśli pracujesz w okienkowym
trybie graficznym - zagięta strzałka) umieszczony na prawym marginesie
338
wskazuje, że dana linia jest kontynuowana w następnym wierszu ekranu.
Dave Love's avatar
#  
Dave Love committed
339 340

>> Wpisuj jakiś tekst tak długo, aż dojdziesz do prawego marginesu, i
341
   potem nie przestawaj. Zauważysz, że pojawi się linia kontynuacji.
Dave Love's avatar
#  
Dave Love committed
342

343 344
>> Użyj klawisza <Delback>, by usunąć znaki tekstu, tak by linia znowu
   mieściła się na ekranie; linia kontynuacji zniknie.
Dave Love's avatar
#  
Dave Love committed
345

346
Znak nowej linii można skasować tak jak każdy inny znak. Usunięcie znaku
347 348
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ść
349
ekranu, to zostanie wyświetlona z linią kontynuacji.
Dave Love's avatar
#  
Dave Love committed
350

351 352
>> Przesuń kursor na początek linii i naciśnij <Delback>. Bieżąca
   linia zostanie połączona z poprzednią.
Dave Love's avatar
#  
Dave Love committed
353 354

>> Naciśnij <Return>, by z powrotem wstawić znak nowej linii, który
355
   skasowałeś.
Dave Love's avatar
#  
Dave Love committed
356

357 358
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
359
powoduje wstawienie znaku odpowiadającą mu liczbę razy.
Dave Love's avatar
#  
Dave Love committed
360

361
>> Wypróbuj to teraz -- naciśnij C-u 8 *, a uzyskasz ********.
Dave Love's avatar
#  
Dave Love committed
362 363

Nauczyłeś się już większej części podstawowych sposobów pisania oraz
364 365 366
poprawiania błędów. W Emacsie możesz usuwać również całe słowa lub
linie. Oto podsumowanie operacji usuwania znaków:

367 368
	<Delback> usuń znak bezpośrednio przed kursorem
	C-d usuń znak bezpośrednio za kursorem
369

370 371
	M-<Delback> wytnij słowo bezpośrednio przed kursorem
	M-d wytnij słowo bezpośrednio za kursorem
Dave Love's avatar
#  
Dave Love committed
372

373 374
	C-k wytnij zawartość linii od kursora do jej końca
	M-k wytnij wszystkie znaki od kursora do końca zdania
Dave Love's avatar
#  
Dave Love committed
375

376 377 378 379
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ą
380
odpowiednikami zdań.
Dave Love's avatar
#  
Dave Love committed
381 382


383 384 385 386 387 388 389 390
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)
391
   na dole ekranu.
392 393 394 395

>> 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,
396
   a kończący tuż przed o.
Dave Love's avatar
#  
Dave Love committed
397 398

Gdy usuwasz więcej niż jeden znak naraz, Emacs zachowuje usunięty
399 400 401 402 403 404 405 406 407
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,
408 409
podczas gdy polecenia, które po prostu kasują jeden znak albo puste
linie lub odstępy, skasowanego tekstu nie zachowują.
410 411

>> Przesuń kursor na początek linii, która nie jest pusta. Naciśnij
412
   C-k, by wyciąć tekst z tej linii.
413 414

>> Naciśnij C-k jeszcze raz. Zauważ, że wycina to znak nowej linii,
415
   który znajduje się za ta linią.
416 417 418 419 420 421 422

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.
Dave Love's avatar
#  
Dave Love committed
423 424 425 426

By odzyskać ostatnio wycięty tekst i wstawić go w miejsce kursora,
naciśnij C-y.

427
>> Twoja kolej. Naciśnij C-y, by z powrotem wstawić tekst.
Dave Love's avatar
#  
Dave Love committed
428

429 430
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
Dave Love's avatar
#  
Dave Love committed
431 432 433 434
wszystkie linie.

>> Naciśnij C-k kilka razy.

435
A by odzyskać ten wycięty tekst...
Dave Love's avatar
#  
Dave Love committed
436

437
>> ...naciśnij C-y. Przesuń potem kursor o kilka linii w dół i
438
   naciśnij C-y jeszcze raz. Widzisz, że wstawia to ten sam tekst.
Dave Love's avatar
#  
Dave Love committed
439

440 441 442 443 444 445 446 447
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.
Dave Love's avatar
#  
Dave Love committed
448

449 450
Naciskając M-y wystarczająco wiele razy, dojdziesz do punktu,
z którego wystartowałeś (czyli tekstu wyciętego ostatnio).
Dave Love's avatar
#  
Dave Love committed
451

452
>> Wytnij jakąś linię, zmień pozycję kursora i wytnij inną. Naciśnij
453 454 455 456 457 458
   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.
Dave Love's avatar
#  
Dave Love committed
459 460 461 462 463 464


* COFNIJ
--------

Jeśli wprowadzisz zmiany do tekstu, a potem dojdziesz do wniosku, że
465
to była pomyłka, to możesz cofnąć zmiany, wydając polecenie ,,cofnij''
Dave Love's avatar
#  
Dave Love committed
466 467 468
(ang. undo), C-x u.

C-x u cofa zmiany wprowadzone przez jedno polecenie; jeśli powtórzysz
469
C-x u kilka razy z rzędu, to każde powtórzenie cofa kolejne polecenie.
Dave Love's avatar
#  
Dave Love committed
470

471 472 473 474 475 476
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.)
Dave Love's avatar
#  
Dave Love committed
477

478
>> Wytnij tę linię za pomocą C-k, a potem naciśnij C-x u; linia
479
   powinna się pojawić ponownie.
Dave Love's avatar
#  
Dave Love committed
480 481

C-_ jest innym sposobem wywołania polecenia "cofnij"; działa to
482 483 484 485 486
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 /.
Dave Love's avatar
#  
Dave Love committed
487 488 489 490 491 492 493 494

Argument liczbowy podany przed C-_ lub C-x u określa liczbę powtórzeń
tego polecenia.


* PLIKI
-------

495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512
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
Dave Love's avatar
#  
Dave Love committed
513
części ekranu zawsze możesz znaleźć nazwę pliku, który właśnie
514
odwiedzasz. W tej chwili odwiedzasz plik o nazwie TUTORIAL, który
515
jest Twoją własną kopią samouczka Emacsa. Obojętnie, który plik
516
odwiedzisz, właśnie w tym miejscu pojawi się jego nazwa.
Dave Love's avatar
#  
Dave Love committed
517

518 519 520
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
Dave Love's avatar
#  
Dave Love committed
521
poleceń, które zaczynają się od tego właśnie znaku; wiele z nich
522 523
dotyczy plików, buforów oraz rzeczy z nimi związanych. Polecenia
te mają długość dwóch, trzech lub czterech znaków.
Dave Love's avatar
#  
Dave Love committed
524

525 526 527 528
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
Dave Love's avatar
#  
Dave Love committed
529

530
	C-x C-f znajdź plik (ang. find a file)
Dave Love's avatar
#  
Dave Love committed
531

532 533 534 535
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.
Dave Love's avatar
#  
Dave Love committed
536 537

Wprowadzanie nazwy pliku (lub jakichkolwiek innych danych w
538
minibuforze) można anulować klawiszem C-g.
Dave Love's avatar
#  
Dave Love committed
539

540
>> Naciśnij C-x C-f, po czym naciśnij C-g. Na skutek tego zniknie
541 542
   minibufor oraz przerwane zostanie wykonanie polecenia C-x C-f, które
   tego minibufora używało. W rezultacie nie odwiedzisz żadnego pliku.
Dave Love's avatar
#  
Dave Love committed
543

544
Gdy skończysz wpisywać nazwę pliku, naciśnij <Return>. Wówczas
Dave Love's avatar
#  
Dave Love committed
545
polecenie C-x C-f zabierze się do roboty i znajdzie plik, który
546 547
wybrałeś. Z chwilą zakończenia wykonywania polecenia C-x C-f
zniknie też minibufor.
Dave Love's avatar
#  
Dave Love committed
548

549 550 551
Zawartość znalezionego pliku po chwili pojawia się na ekranie
i możesz ją edytować. Gdy chcesz zachować zmiany, by je utrwalić,
wydaj polecenie
Dave Love's avatar
#  
Dave Love committed
552

553
	C-x C-s zachowaj plik (ang. save).
Dave Love's avatar
#  
Dave Love committed
554

555 556 557 558
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.
Dave Love's avatar
#  
Dave Love committed
559

560 561 562
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.
Dave Love's avatar
#  
Dave Love committed
563

564 565
>> Naciśnij C-x C-s, by zachować dla siebie kopię samouczka. Emacs
   powinien wypisać "Wrote ...TUTORIAL" na dole ekranu.
Dave Love's avatar
#  
Dave Love committed
566

567 568 569 570 571
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
Dave Love's avatar
#  
Dave Love committed
572 573 574
rozdziale "Spontaneous Entry to Incremental Search" w podręczniku
Emacsa.

575 576 577 578 579 580 581 582
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.
Dave Love's avatar
#  
Dave Love committed
583 584 585 586 587


* BUFORY
--------

588 589 590 591
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.
Dave Love's avatar
#  
Dave Love committed
592 593

>> Utwórz plik o nazwie "foo" za pomocą C-x C-f foo <Return>.
594 595
   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.
Dave Love's avatar
#  
Dave Love committed
596

597 598 599
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
Dave Love's avatar
#  
Dave Love committed
600

601
	C-x C-b lista buforów (ang. list buffers).
Dave Love's avatar
#  
Dave Love committed
602 603 604

>> Naciśnij C-x C-b.

605
Zwróć uwagę, że każdy bufor ma własną nazwę, może też mieć skojarzoną z
606
nim nazwę pliku, który odwiedza. KAŻDY tekst, który oglądasz w Emacsie,
607
jest zawsze częścią jednego z buforów.
Dave Love's avatar
#  
Dave Love committed
608 609 610

>> Naciśnij C-x 1 by pozbyć się listy buforów.

611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
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.

639 640 641 642 643 644 645 646 647
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:
Dave Love's avatar
#  
Dave Love committed
648

649
	C-x s Zachowaj bufory (ang. save some buffers)
Dave Love's avatar
#  
Dave Love committed
650

651 652 653
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ć.
Dave Love's avatar
#  
Dave Love committed
654 655

>> Wstaw jakąś linię tekstu, a potem naciśnij C-x s.
656 657
   Powinieneś zostać zapytany o to, czy chcesz zachować bufor
   TUTORIAL. Odpowiedz na to pytanie twierdząco, naciskając y.
658 659 660


* ROZSZERZANIE ZESTAWU POLECEŃ
Dave Love's avatar
#  
Dave Love committed
661 662
------------------------------

663 664 665 666
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ń:
Dave Love's avatar
#  
Dave Love committed
667

668 669 670
	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.
Dave Love's avatar
#  
Dave Love committed
671

672 673 674 675 676 677 678
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.)
Dave Love's avatar
#  
Dave Love committed
679

680 681
C-z jest poleceniem, które wychodzi z Emacsa *na chwilę*, tak byś mógł
wrócić do niej wrócić po jakimś czasie.
Dave Love's avatar
#  
Dave Love committed
682 683

W systemach, w których jest to możliwe, C-z zawiesza proces Emacsa;
684
powoduje to powrót do powłoki (ang. shell), ale nie niszczy Emacsa.
Dave Love's avatar
#  
Dave Love committed
685 686 687
W najpopularniejszych powłokach możesz wrócić do Emacsa za pomocą
polecenia `fg' lub `%emacs'.

688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705
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ś:

706 707 708 709 710
	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
711 712 713 714 715 716 717 718 719

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>.
Dave Love's avatar
#  
Dave Love committed
720 721

Polecenie replace-string wymaga dwóch argumentów: łańcucha, który ma
722 723 724
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>.
Dave Love's avatar
#  
Dave Love committed
725 726

>> Przesuń kursor do czystej linii, dwie linie poniżej tej.
727
   Naciśnij M-x repl s<Return>zmieni<Return>zmodyfikuje<Return>.
Dave Love's avatar
#  
Dave Love committed
728

729 730 731
   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.
Dave Love's avatar
#  
Dave Love committed
732 733 734 735 736


* AUTOMATYCZNE ZACHOWYWANIE
---------------------------

737 738 739 740 741 742 743 744
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.
Dave Love's avatar
#  
Dave Love committed
745 746

Jeśli Twój komputer przestanie działać, możesz odzyskać Twoje dane z
747 748 749 750
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>.
Dave Love's avatar
#  
Dave Love committed
751 752 753 754 755


* OBSZAR ECHA
-------------

756
Jeśli polecenia dla Emacsa wpisujesz dostatecznie wolno, będą one
Dave Love's avatar
#  
Dave Love committed
757
pokazywane w specjalnym obszarze na dole ekranu, zwanym obszarem echa
758
(ang. echo area). Obszar echa zawiera ostatnią dolną linię ekranu.
Dave Love's avatar
#  
Dave Love committed
759 760 761 762 763 764


* LINIA STANU
-------------

Linia, która znajduje się bezpośrednio nad obszarem echa, zwana jest
765
linią trybu (ang. modeline). Pokazuje ona tekst podobny do
Dave Love's avatar
#  
Dave Love committed
766 767
następującego:

768
--:** TUTORIAL (Fundamental)--L670--58%----------------
Dave Love's avatar
#  
Dave Love committed
769 770

Linia ta podaje użyteczne informacje o stanie Emacsa i tekstu, który
771
edytujesz.
772 773

Wiesz już, jakie jest znaczenie nazwy: oznacza ona plik,
774
który odwiedziłeś. --NN%-- informuje o bieżącej pozycji wewnątrz
Dave Love's avatar
#  
Dave Love committed
775
tekstu; oznacza to, że NN procent tekstu znajduje się ponad górnym
776 777 778 779 780
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--.
Dave Love's avatar
#  
Dave Love committed
781

782 783 784 785 786 787 788
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.
Dave Love's avatar
#  
Dave Love committed
789 790

Wewnątrz nawiasów znajdziesz informacje na temat trybu edycji, w
791 792 793 794 795 796 797 798 799
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
Dave Love's avatar
#  
Dave Love committed
800 801 802
"Fundamental".

Każdy z głównych trybów edycyjnych może zmienić zachowanie niektórych
803 804 805 806 807 808 809
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.
Dave Love's avatar
#  
Dave Love committed
810 811

Jeśli zamierzasz edytować tekst w języku angielskim, taki jak na
812
przykład oryginalna wersja tego samouczka, to prawdopodobnie
813
powinieneś użyć trybu tekstowego (ang. text mode).
Dave Love's avatar
#  
Dave Love committed
814 815 816

>> Napisz M-x text-mode<Return>.

817 818 819
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
Dave Love's avatar
#  
Dave Love committed
820 821 822
podstawowym, polecenia te traktowały apostrofy jako separatory słów.

Główne tryby edycji wprowadzają zwykle subtelne zmiany, takie jak
823 824
opisana powyżej; większość poleceń nadal robi ,,to samo'', chociaż
być może w troszeczkę inny sposób.
Dave Love's avatar
#  
Dave Love committed
825 826 827 828

By zobaczyć dokumentację na temat bieżącego głównego trybu edycji,
naciśnij C-h m.

829
>> Naciśnij C-u C-v raz lub więcej razy, tak by ta linia znalazła się
830
   blisko góry ekranu.
Dave Love's avatar
#  
Dave Love committed
831

832
>> Naciśnij C-h m, by odczytać dokumentację na temat tego, czym tryb
833
   tekstowy różni się od trybu podstawowego.
Dave Love's avatar
#  
Dave Love committed
834

835
>> Naciśnij q, by usunąć dokumentację trybu z ekranu.
Dave Love's avatar
#  
Dave Love committed
836

837 838 839 840 841 842 843
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.
Dave Love's avatar
#  
Dave Love committed
844

845 846 847 848 849
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.
Dave Love's avatar
#  
Dave Love committed
850

851 852 853 854
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''.
Dave Love's avatar
#  
Dave Love committed
855

856
>> Napisz M-x auto-fill-mode<Return>. Wstaw potem wiele napisów
857 858 859
   ,,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.
Dave Love's avatar
#  
Dave Love committed
860

861 862
Margines jest zazwyczaj ustawiony na 70 znaków, ale możesz to zmienić
poleceniem C-x f. Powinieneś poleceniu podać argument liczbowy
Dave Love's avatar
#  
Dave Love committed
863 864 865
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).
866 867 868
   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.
Dave Love's avatar
#  
Dave Love committed
869

870 871 872 873
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).
Dave Love's avatar
#  
Dave Love committed
874 875 876 877 878 879 880 881

>> 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)
882 883 884
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.
Dave Love's avatar
#  
Dave Love committed
885

886 887 888 889
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.
Dave Love's avatar
#  
Dave Love committed
890

891 892
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
Dave Love's avatar
#  
Dave Love committed
893 894
chwili.

895 896 897 898 899 900
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
901 902 903 904 905 906 907
   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.
908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923

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
Dave Love's avatar
#  
Dave Love committed
924 925 926
rozdziale "Spontaneous Entry to Incremental Search" w podręczniku
Emacsa.

927
Jeśli podczas szukania przyrostowego naciśniesz <Delback>, to zauważysz,
928 929 930 931
ż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
932
ku. Naciśnij teraz <Delback>. Spowoduje to skasowanie z wyszukiwanego
933
łańcucha litery u, a kursor wróci do pierwszego wystąpienia litery k.
Dave Love's avatar
#  
Dave Love committed
934

935 936 937 938
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.
Dave Love's avatar
#  
Dave Love committed
939

940 941 942 943
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.
Dave Love's avatar
#  
Dave Love committed
944 945 946 947 948


* WIELE OKIEN
-------------