summaryrefslogtreecommitdiff
path: root/etc/tutorials/TUTORIAL.uk
blob: c09ba7de7d64bbd68975624d9eeb60971f4c8b3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
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
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
Посібник Emacs.  Умови копіювання в кінці.

Команди Emacs передбачають використання клавіші CONTROL (часто
підписаної CTRL чи CTL) або клавіші META (зазвичай підписаної ALT).
Щоб не писати цього щоразу повністю, використовуємо такі скорочення:

 C-<симв> означає затиснути клавішу CONTROL і натиснути клавішу
          <симв>.  Тобто C-f — це затиснути CONTROL і натиснути f.

 M-<симв> означає затиснути клавішу META чи ALT і натиснути <симв>.
          Якщо не маєте клавіші META чи ALT, натисніть по черзі
          клавіші ESC та <симв>.  Клавішу ESC ми позначаємо <ESC>.

Щоб редагувати український текст в Emacs, перемкніться на англійську
розкладку й наберіть C-\ — це активує український режим введення
Emacs, у якому працюватимуть як слід усі описані в посібнику команди.
Щоб знову вводити англійські символи, повторіть C-\.

Зауважте: щоб завершити сеанс Emacs, наберіть C-x C-c.  (Два символи.)
Щоб скасувати частково введену команду, наберіть C-g.  Щоб закрити
посібник, наберіть C-x k, а тоді при запиті натисніть <Return> (цю
клавішу може бути підписано Enter).  Абзаци, що містять „»»“ на
початку, — це вказівки, які вам слід виконати, щоб спробувати
використати ту чи іншу команду. Наприклад:
<<Програма help-with-tutorial огортає наступний рядок відступами>>
[Кілька навмисне порожніх рядків.  Скоро зрозумієте, навіщо.]
»» Прямо зараз наберіть C-v (view — переглянути), щоб прогорнути
   посібник униз.  (Затисніть клавішу CONTROL і наберіть v.)
   Робіть так щоразу, коли дочитуєте до кінця екрана.

Як бачите, гортається не цілий екран, а на два рядки менше; це
допомагає не губитись, коли читаєте довгі тексти.

Це одноразова, трошки адаптована спеціально для вас копія тексту
посібника Emacs.  Будемо пропонувати вам випробовувати прямо на цьому
тексті різні команди, які його змінюватимуть.  Якщо зміните цей текст
самостійно навіть без наших вказівок — чудово, це називається
«редагування» й саме для цього створено Emacs.

Перш за все навчимось пересуватися текстом.  Ви вже знаєте, як
прогорнути один екран уперед: C-v.  Прогорнути один екран назад — це
M-v (затисніть клавішу META й наберіть v — або наберіть <ESC>v, якщо
не маєте ні клавіші META, ні клавіші ALT).

»» Спробуйте набрати M-v й тоді C-v кілька разів по черзі.

Якщо знаєте інші способи гортати текст, то можете, звісно,
застосовувати і їх.

* ПІДСУМОК
----------

Наступні команди допомагають гортати екрани тексту:

        C-v     (View — переглянути.)
                Перейти на наступний екран.

        M-v     Перейти на попередній екран.

        C-l     (Clear — очистити.)
                Очистити екран і вивести текст заново, центруючи екран
                на тексті біля курсора.  (Це CONTROL-L, не CONTROL-1.)

»» Знайдіть курсор і зверніть увагу, який біля нього текст.  Наберіть
   C-l.  Знайдіть, куди змістився курсор, і зауважте, що біля курсора
   досі той самий текст, просто він тепер у центрі екрана.  Якщо знов
   натиснете C-l, цей самий текст посунеться догори екрана.  Натисніть
   C-l іще раз, і він посунеться донизу.

Можете також гортати екрани клавішами PageUp і PageDn, якщо ваш
термінал їх має.  Але з C-v та M-v ви редагуватимете спритніше.

* ОСНОВИ КЕРУВАННЯ КУРСОРОМ
---------------------------

Гортати екран за екраном — це вже непогано, але як перейти до
конкретного місця в тексті на екрані?

Є кілька способів.  Можна рухатись клавішами стрілок, але зручніше
тримати руки в стандартному положенні й використовувати команди C-p
(previous — попередній), C-b (backward — назад), C-f (forward —
уперед) і C-n (next — наступний).  Ці символи рівнозначні
чотирьом клавішам стрілок:

                         Попередній рядок, C-p
                                  :
                                  :
            Назад, C-b .... Де курсор зараз .... Уперед, C-f
                                  :
                                  :
                         Наступний рядок, C-n

»» Посуньте курсор до рядка посередині рисунка вгорі за допомогою C-n
   та C-p.  Тоді наберіть C-l, щоб центрувати екран на рисунку.

Літери в скороченнях Emacs легко запам'ятати за відповідними їм
англійськими словами, як зазначено вгорі.  Ці основні команди руху
курсора ви будете використовувати весь час.

»» Наберіть C-n кілька разів, щоб посунути курсор до цього рядка.

»» Посуньте курсор до якого-небудь слова в рядку, набравши C-f
   декілька разів, а тоді поверніться вгору кількома натисками C-p.
   Зауважте, як C-p поводиться, коли курсор не на початку рядка.

Кожен рядок тексту закінчується символом нового рядка: цей символ
технічно відділяє рядок від наступного.  (Зазвичай останній рядок у
файлі теж закінчується символом нового рядка, проте Emacs цього не
вимагає.)

»» Спробуйте C-b на початку рядка.  Курсор має зміститись у кінець
   попереднього рядка, бо рух назад (backward) «проїде» по символу
   нового рядка.

C-f — рух уперед (forward) — уміє «їздити» по символах нового рядка
так само, як і C-b.

»» Наберіть C-b іще кілька разів, щоб відчути, яким чином рухається
   курсор.  Тоді поверніться в кінець того рядка, з якого почали рух:
   кілька разів наберіть C-f.  Тоді перейдіть іще одним C-f до
   наступного рядка.

Коли ваш рух перетинає верх чи низ екрана, текст із-за краю
посувається на екран.  Це називається «гортання», або scrolling.
Таким чином курсор, куди б у тексті ви його не спрямували, залишається
в межах екрана Emacs.

»» Спробуйте посунути курсор за нижню межу екрана кількома натисками
   C-n — і зверніть увагу на поведінку.

Коли рухатися символами надто повільно, рухайтеся словами.  M-f
(META-f) посуває курсор через ціле слово вперед (forward), а M-b —
через слово назад (backward).

»» Наберіть M-f і M-b по кілька разів.

Коли ви посеред слова, M-f посуває курсор до кінця слова.  Коли ви на
пробілі, M-f посуває курсор у кінець наступного слова.  M-b працює
аналогічно в зворотному напрямі.

»» Наберіть іще кілька M-f і M-b, розділяючи їх натисками C-f і C-b,
   щоб поспостерігати за поведінкою M-f і M-b залежно від перебування
   курсора в різних місцях усередині слів і між словами.

Простежте паралелі між C-f і C-b з одного боку та M-f і M-b з іншого.
Часто Meta-символи використовуються для роботи з одиницями,
визначеними мовою: зі словами, реченнями, абзацами.  Тоді як
Control-символи працюють із низькорівневими одиницями, без огляду на
редаговане середовище: з символами, рядками тощо.

Ця паралель стосується також рядків і речень: C-a та C-e посувають до
початку чи кінця рядка, тоді як M-a та M-e посувають до початку чи
кінця речення.

»» Наберіть C-a кілька разів, тоді наберіть C-e кілька разів.
   Наберіть M-a кілька разів, тоді наберіть M-e кілька разів.

Зверніть увагу на те, як повторні натиски C-a не викликають нових
рухів, а от повтори M-a щоразу рухають вас на одне речення назад.
Поведінка дещо різна, втім природна для кожного контексту.

Координати курсора в тексті називаються «точкою».  Іншими словами,
курсор позначає на екрані поточну точку в тексті.

Ось підсумок простих операцій посування курсора, зокрема команд руху
словами й реченнями:

        C-f     (Forward — уперед.)  Перейти на символ уперед
        C-b     (Backward — назад.)  Перейти на символ назад

        M-f     Перейти на слово вперед
        M-b     Перейти на слово назад

        C-n     (Next — наступний.)  До наступного рядка
        C-p     (Previous — попередній.)  До попереднього рядка

        C-a     (Alpha — початок.)  Перейти на початок рядка
        C-e     (End — кінець.)  Перейти в кінець рядка

        M-a     Перейти назад на початок речення
        M-e     Перейти вперед у кінець речення

»» Випробуйте всі ці команди по кілька разів для практики.
   Ними ви користуватиметесь частіше за всі інші.

Дві інші важливі команди руху курсора — це M-< (META-менше), яка веде
на початок усього тексту, й M-> (META-більше), яка веде в кінець
усього тексту.

На більшості терміналів знак „<“ — над латинською комою, тобто ви
затискаєте SHIFT, щоб його набрати.  Відповідно M-< означає затиск не
лише клавіші META, а ще й клавіші SHIFT.  Без SHIFT вийде M-кома.

»» Спробуйте М-< зараз, щоб перейти на початок посібника.
   Тоді кілька разів наберіть C-v, щоб повернутись сюди.

»» Спробуйте М-> зараз, щоб перейти в кінець посібника.
   Тоді кілька разів наберіть M-v, щоб повернутись сюди.

Можете також рухати курсор клавішами стрілок, якщо ваш термінал має
такі клавіші.  Втім, радимо опанувати C-b, C-f, C-n і C-p з трьох
причин.  По-перше, вони працюють на будь-яких терміналах.  По-друге,
практикуючи використання Emacs, ви невдовзі виявите, що набирати ці
Control-символи швидше, ніж набирати стрілки (бо вам не доводиться
зсувати руки з набірного положення).  По-третє, щойно ви звикнете до
використання цих команд із Control-символами, вам стане легко
опанувати й інші розширені команди посування курсора.

Більшість команд Emacs приймають числовий аргумент; для більшості
команд він означає кількість повторів.  Щоб передати команді кількість
повторів, набирайте C-u і цифри, перш ніж набрати команду.  Якщо маєте
клавішу META (чи ALT), то маєте й інший, альтернативний шлях увести
числовий аргумент: наберіть цифри, затиснувши клавішу META.  Радимо
опанувати шлях C-u, бо він працює на будь-яких терміналах.  Числовий
аргумент також називається «префіксним аргументом», бо ви набираєте
його перед відповідною йому командою.

Наприклад, C-u 8 C-f посуває курсор на вісім символів уперед.

»» Спробуйте використати C-n чи C-p з числовим аргументом, щоб
   посунути курсор до рядка поруч із цим рядком єдиною командою.

Числовий аргумент означає для більшості команд кількість повторів, але
деякі команди використовують його інакше.  Декілька команд (але не ті,
які вам уже відомі) використовують його як прапор: коли передаєте їм
префіксний аргумент, це незалежно від значення змушує команду робити
щось нетипове.

C-v та M-v також є винятком.  За наявності аргументу вони гортають
текст угору чи вниз на означену ним кількість рядків, а не на цілий
екран.  Наприклад, C-u 8 C-v прокручує 8 рядків.

»» Спробуйте набрати C-u 8 C-v прямо зараз.

Це мало прогорнути текст на 8 рядків угору.  Якщо бажаєте прогорнути
його знов донизу, передайте аргумент команді M-v.

Якщо ви користуєтесь графічним середовищем, наприклад X чи MS-Windows,
то з одного боку вікна Emacs має бути висока прямокутна область, яка
називається панеллю гортання.  Можете гортати текст, натискаючи панель
гортання кнопкою миші.

Якщо у вашої миші є колесо гортання, можете гортати й ним.


* ЯКЩО EMACS НЕ ВІДПОВІДАЄ
--------------------------

Якщо Emacs перестає відповідати на ваші команди, можете дати йому
копняка, набравши C-g.  Використовуйте C-g, щоб припинити команду, яка
виконується надто довго.

Також використовуйте C-g, щоб відхилити числовий аргумент або початок
команди, яку передумали дописувати.

»» Наберіть C-u 100, щоб зазначити числовий аргумент «100».  Наберіть
   C-g.  Тепер наберіть C-f.  Курсор має посунутись лише на один
   символ, бо ви скасували аргумент набранням C-g.

Ненароком набравши <ESC>, можете позбутись і його за допомогою C-g.


* ВИМКНЕНІ КОМАНДИ
------------------

Деякі команди Emacs усталено «вимкнені», щоб не плутати користувачок і
користувачів, які лише починають його вивчати.

Коли ви набираєте ту чи іншу вимкнену команду, Emacs показує її назву
й запитує, чи точно ви бажаєте виконати цю команду.

Якщо ви справді бажаєте спробувати команду, наберіть <SPC> (пробіл) у
відповідь на запитання.  Зазвичай, не бажаючи виконувати вимкнену
команду, відповідайте на це питання «n».

»» Наберіть C-x C-l (цю команду вимкнено), а тоді наберіть n у
   відповідь на запитання.


* WINDOWS
---------

Emacs може мати кілька «вікон» — кожне зі своїм текстом.  Згодом
пояснимо, як використовувати декілька вікон одразу.  Поки що слід
розібратись, як позбутись зайвих вікон і повернутись до простого
редагування в одному вікні.  Це просто:

        C-x 1   Одне вікно (тобто припинити всі інші вікна).

Це означає набір CONTROL-x і цифри 1.  C-x 1 розширює вікно, яке
містить курсор, на весь екран, і видаляє всі інші вікна.

»» Посуньте курсор до цього рядка й наберіть C-u 0 C-l.  Тоді наберіть
   C-h k C-f.  Це вікно звузиться, й з'явиться нове вікно, в якому
   буде показано документацію про команду C-f.

»» Наберіть C-x 1 — вікно документації зникне.

Є цілі набори команд, які починаються з CONTROL-x; більшість із них
стосуються вікон, файлів, буферів тощо.  Ці команди містять два, три
або чотири символи.


* ВВЕДЕННЯ Й ВИДАЛЕННЯ
----------------------

Якщо бажаєте ввести текст, просто наберіть цей текст.  Звичайні
символи, такі як A, 7, * тощо, вводяться прямо при набранні.  Аби
ввести символ нового рядка, натисніть <Return> (ця клавіша на
клавіатурі часом підписана «Enter»).

Щоб видалити символ перед курсором, наберіть <DEL>.  Ця клавіша на
клавіатурі зазвичай підписана «Backspace» — та сама, якою за межами
Emacs ви зазвичай видаляєте останній набраний символ.

На клавіатурі зазвичай є ще одна клавіша з підписом <Delete>, але в
Emacs ми позначаємо <DEL> не її.

»» Прямо зараз наберіть кілька символів, а тоді видаліть їх, набравши
   <DEL> кілька разів.  Сміливо змінюйте цей файл; оригінал посібника
   залишиться недоторканим.  Це ваша особиста одноразова копія.

Коли рядок тексту завеликий для одного рядка на екрані, цей рядок
тексту «продовжується» на ще один екранний рядок.  Якщо ви
користуєтесь графічним середовищем, на кожному боці текстової області
(на лівому й правому «полях») з'являються маленькі вигнуті стрілки —
позначки, де було продовжено той чи інший рядок.  Якщо ви користуєтесь
текстовим терміналом, продовжений рядок позначається оберненою скісною
рискою («\») в крайній правій колонці екрана.

»» Вводьте текст, доки не сягнете правого поля, а тоді вводьте ще.
   Побачите, як з'явиться рядок продовження.

»» Натискайте <DEL> раз за разом, щоб видаляти символи, доки рядок
   тексту не вміститься знову в один екранний рядок.  Рядок
   продовження зникне.

Символ нового рядка можете видалити так само, як будь-який інший.
Видалення символу нового рядка між двома рядками зливає їх в один
рядок.  Якщо в результаті сполучений рядок ширший, ніж екран, то його
буде показано з рядком продовження.

»» Посуньте курсор на початок рядка й наберіть <DEL>.  Це
   зіллє той рядок із попереднім.

»» Наберіть <Return>, щоб відновити символ нового рядка на місці щойно
   видаленого.

Клавіша <Return> особлива тим, що її натиск може не лише вводити
символ нового рядка.  Залежно від навколишнього тексту, її натиск може
ввести пробіли після символу нового рядка таким чином, щоб текст у
новоствореному рядку одразу вирівнювався відносно тексту попереднього
рядка.  Ми називаємо цю поведінку (складнішу дію клавіші, ніж просто
введення відповідного символу) «електричною».

»» Щоб побачити електричну поведінку <Return>,
   наберіть <Return> у кінці цього рядка.

Простежте, як при введенні символу нового рядка Emacs вводить пробіли
таким чином, що курсор опиняється під «н» слова «наберіть».

Пам'ятайте, більшості команд Emacs можливо передати кількість
повторень; це стосується й текстових символів.  Повторення текстового
символу вводить цей символ декілька разів.

»» Спробуйте зараз набрати C-u 8 *, аби ввести ********.

Ви опанували основний спосіб набрати щось в Emacs і виправити помилки.
Також можна видаляти цілі слова й рядки.  Ось підсумок операцій
видалення:

        <DEL>   Видалити символ перед курсором
        C-d     (Delete — видалити.)  Видалити символ після курсора

        M-<DEL> Вирізати слово перед курсором
        M-d     Вирізати слово після курсора

        C-k     (Kill — вирізати.)  Вирізати з рядка все після курсора
        M-k     Вирізати з речення все після курсора

Зважте на те, як <DEL> і C-d продовжують щодо M-<DEL> і M-d паралелі,
розпочаті C-f і M-f (технічно <DEL> не є керівним символом, але зараз
це несуттєво).  C-k та M-k подібні до C-e та M-e тим, як вони працюють
із рядками й реченнями відповідно.

Є також спосіб вирізати одразу багато тексту.  Перейдіть на початок чи
в кінець потрібної частини тексту й натисніть C-<SPC>.  (<SPC> —
пробіл.)  Тоді посуньте курсор на інший край частини тексту, яку
бажаєте вирізати.  Коли ви це робитимете, Emacs підсвітить текст між
курсором і тим місцем, де ви набрали C-<SPC>.  Нарешті наберіть C-w
(whole — повністю).  Це повністю виріже позначений текст.

»» Посуньте курсор до «Є» на початку попереднього абзацу.
»» Введіть C-<SPC>.  Emacs має показати повідомлення «Mark set»
   («Позначку встановлено») внизу екрана.
»» Посуньте курсор до «п» в слові «потрібної» другого рядка абзацу.
»» Наберіть C-w.  Це виріже текст від «Є» включно до «п» не включно.
   Якби ви набрали M-w, це його лише скопіювало б.

Вирізання й видалення відрізняються тим, що вирізаний текст можливо
вставити (будь-куди), тоді як видалене вставити неможливо (втім,
можливо скасувати видалення — про це згодом).  Вставка, так би мовити,
виймає (yank) раніше вилучений текст.  Зазвичай усі команди, які
вилучають багато тексту, вирізають його (їх налаштовано таким чином,
щоб ви могли потім вставити цей текст); а от команди, які вилучають
лише один символ або порожні рядки чи пробіли, просто їх видаляють
(без можливості вставлення).  <DEL> і C-d без аргументу здійснюють
видалення.  За наявності аргументу вони вирізають.

»» Посуньте курсор на початок рядка, в якому є символи.
   Тоді наберіть C-k, щоб вирізати текст у цьому рядку.
»» Наберіть C-k іще раз.  Це виріже той символ нового рядка,
   що завершує цей рядок.

Зауважте, перший C-k вирізає вміст рядка, а другий C-k вирізає сам
рядок і зсуває догори всі наступні рядки.  C-k із числовим аргументом
працює інакше: вирізає водночас вміст і самі рядки.  Це не просто
повторення.  C-u 2 C-k вирізає два рядки разом із їхніми символами
нового рядка; набравши C-k двічі, ви отримаєте інший результат.

Можете вставити вирізаний текст туди ж, звідки його вирізали, або до
певного іншого місця в редагованому тексті — навіть в інший файл.
Можете вставляти один і той самий текст кілька разів; це створить
кілька його копій.  Англійською вирізання називають «kill» або «cut»,
виймання (вставку) — «yank» або «paste»; перегляньте згодом глосарій у
підручнику Emacs.

Команда C-y вставляє останній вирізаний текст туди, де зараз курсор.

»» Спробуйте набрати C-y, щоб вставити текст назад.

Якщо наберете C-k декілька разів поспіль, увесь вирізаний текст
збережеться разом, щоб одною командою C-y ви могли вставити водночас
усі рядки.

»» Спробуйте зараз набрати C-k декілька разів.

Тепер отримаймо вирізаний текст:

»» Наберіть C-y.  Посуньте курсор на кілька рядків униз і наберіть C-y
   знову.  Тепер ви знаєте, як копіювати текст.

Що робити, коли вже вирізали певний текст для вставки, але після цього
вирізали ще щось?  C-y вставляє найновіше вирізане.  Проте минулого
вирізаного не втрачено.  Можете повернутись до нього командою M-y.
Набравши C-y та вийнявши цим найновіше вирізане, наберіть M-y іще раз,
щоб замінити вставлений текст на попереднє вирізане.  Набирайте M-y
знову й знову, щоб виймати минулі вирізання.  Досягнувши шуканого
тексту, ви не маєте більше нічого робити, щоб його зафіксувати.
Просто продовжуйте редагувати, залишивши вставлений текст на місці.

Набравши M-y достатньо разів, виймете найновіше вирізане знову.

»» Виріжте рядок, посуньте курсор і виріжте ще один рядок.

»» Тоді наберіть C-y, щоб отримати другий вирізаний рядок.  Тоді
   наберіть M-y, і той рядок заміниться на перший вирізаний рядок.

»» Наберіть M-y іще кілька разів і простежте, що вийматиметься.
   Продовжуйте набирати M-y, доки не виймете знову другий вирізаний
   рядок, і тоді наберіть ще декілька M-y.  За бажання спробуйте
   передати M-y додатні чи від'ємні аргументи.


* СКАСУВАННЯ
------------

Помилково змінивши текст, можете скасувати цю зміну командою
скасування C-_, тобто затисніть Control та Shift і натисніть дефіс.

Зазвичай C-_ скасовує зміни, внесені одною командою; якщо ви наберете
кілька C-_ поспіль, кожне повторення скасує ще по одній команді.

Але є два винятки.  Команди, які не змінюють тексту, не враховуються
(зокрема це команди руху курсора й команди гортання).  Й текстові
символи зазвичай обробляються по 20 водночас.  (Це щоб зменшити
кількість C-_, потрібних для скасування вставки тексту.)

»» Виріжте цей рядок за допомогою C-k. Тоді наберіть C-_, щоб він
   з'явився знову.

C-/ — альтернативна команда скасування; вона працює так само, як C-_.
Деякі термінали дають змогу набирати C-_ без клавіші Shift.  Деякі
термінали насправді передають Emacs саме C-_, коли ви набираєте C-/.
Ще є команда C-x u, котра працює так само, як C-_, але менш зручна для
набрання.  Посібники для латинських розкладок описують команду C-/ як
основну, проте українською C-_ набирати легше.

Числовий аргумент для C-_, C-/ чи C-x u працює як кількість повторень.

Можете скасувати видалення тексту так само, як скасовуєте вирізання.
Відмінність між вирізанням і видаленням полягає в тому, чи можете ви
вставити текст за допомогою C-y; для скасування нема жодної різниці.


* ФАЙЛИ
-------

Щоб зробити зміни до тексту постійними, їх треба зберегти до файлу.
Інакше ці зміни зникнуть при виході з Emacs.  Аби зберегти текст до
файлу, вам потрібно «знайти» файл, перш ніж ввести текст.  (Це також
називають «відкриттям» файлу.)

Знаходження файлу показує його вміст усередині Emacs.  Це виглядає,
ніби ви редагуєте файл безпосередньо.  Проте зміни, які ви вносите за
допомогою Emacs, не стають постійними, доки ви не «збережете» файл.
Це щоб не залишати лише частково зміненого файлу в системі, коли ви
цього не бажаєте.  Навіть після збереження Emacs залишає початковий
файл під іншою назвою, щоб ви змогли згодом скасувати зміни, якщо вони
виявляться помилковими.

Якщо ви роздивитесь низ екрану, то помітите рядок, який містить дефіси
й починається з чогось на кшталт « -:--- TUTORIAL».  Ця частина екрану
зазвичай показує назву файлу, який ви редагуєте.  Зараз ви
переглядаєте свою особисту копію посібника Emacs, названу «TUTORIAL».
Коли ви знаходите файл за допомогою Emacs, назва цього файлу
показується саме в тому місці.

Команда знаходження файлу особлива тим, що запитує вас, який файл вам
треба.  Іншими словами, команда «зчитує аргумент» (у цьому випадку
аргумент — назва файлу).  Після набрання команди:

        C-x C-f   (Find — знайти.)  Знайти файл

Emacs попрохає вас набрати назву файлу.  При введенні назву файлу
показано в нижньому рядку екрана.  Нижній рядок називають мінібуфером,
коли він використовується для таких запитів.  Можете використовувати
звичні команди редагування Emacs, щоб редагувати назву файлу.

Коли ви вводите назву файлу (чи заповнюєте інший мінібуфер), можете
скасувати команду за допомогою C-g.

»» Наберіть C-x C-f, а тоді наберіть C-g.  Це скасує мінібуфер, а
   також команду C-x C-f, яка використовувала мінібуфер.  Тому ви не
   знайдете жодного файлу.

Коли ви введете назву файлу до кінця, наберіть <Return>, щоб завершити
введення.  Мінібуфер зникне, й команда C-x C-f спробує знайти обраний
вами файл.

Вміст файлу з'явиться на екрані, й ви зможете редагувати цей вміст.
Коли вирішите зберегти зміни на постійно, наберіть команду:

        C-x C-s   (Save — зберегти.)  Зберегти

Це скопіює текст із Emacs до файлу.  Коли ви робите це вперше, Emacs
перейменовує початковий файл, щоб його не було втрачено.  Нова назва
формується доданням «~» у кінець назви початкового файлу.  Завершивши
збереження, Emacs показує назву записаного файлу.

»» Наберіть C-x C-s TUTORIAL <Return>.
   Це має зберегти посібник у файл із назвою «TUTORIAL» і показати
   «Wrote ...TUTORIAL» унизу екрана.

Можете знайти вже наявний файл, щоб переглянути чи відредагувати його.
Або можете «знайти» файл, якого ще не існує.  Так в Emacs створюють
файли: відкривають порожній файл і починають вводити текст у цей файл.
Коли ви попросите «зберегти» файл, Emacs насправді створить файл зі
введеним вами текстом.  Відтоді можете вважати, що редагуєте вже
наявний файл.


* БУФЕРИ
--------

Коли знаходите ще один файл за допомогою C-x C-f, перший файл
залишається в Emacs.  Можете перемкнутись на нього, знайшовши його
знову за допомогою C-x C-f.  Таким чином в Emacs можливо відкрити
чимало файлів.

Emacs зберігає текст кожного файлу всередині об'єкта — так званого
«буфера».  Знаходження файлу створює буфер усередині Emacs.  Щоб
переглянути перелік уже наявних буферів, наберіть

        C-x C-b   (Buffer — буфер.)  Перелічити буфери

»» Спробуйте C-x C-b прямо зараз.

Зауважте, що кожен буфер має власну назву, а ще біля нього може бути
назва того файлу, вміст якого він утримує.  Будь-який текст, який ви
бачите у вікні Emacs, завжди є частиною певного буфера.

»» Наберіть C-x 1, щоб позбутись переліку буферів.

Коли буферів декілька, лише один із них може бути «поточним».  Це той
буфер, який ви редагуєте.  Якщо бажаєте редагувати інший буфер, на
нього слід «перемкнутись».  Якщо бажаєте перемкнутись на буфер, що
відповідає певному файлу, відкрийте файл знову за допомогою C-x C-f.
Але простіше використати команду C-x b.  Цій команді достатньо
передати назву буфера.

»» Відкрийте файл «foo», набравши C-x C-f foo <Return>.  Тоді наберіть
   C-x b TUTORIAL <Return>, щоб повернутись до цього посібника.

Зазвичай назва буфера збігається з назвою файлу (без шляху).  Втім, це
не завжди так.  Перелік буферів, відкритий за допомогою C-x C-b,
показує як назву буфера, так і назву файлу кожного буфера.

Деякі буфери не відповідають файлам.  Буфер *Buffer List* («Перелік
буферів»), який показує створені за допомогою C-x C-b буфери, не має
жодного файлу.  Цей буфер TUTORIAL спершу не мав файлу, але тепер має,
бо в попередньому розділі ви набрали C-x C-s і зберегли його до файлу.

Буфер *Messages* також не відповідає жодному файлу.  Цей буфер містить
повідомлення, які з'являлись у нижньому рядку вашого сеансу Emacs.

»» Наберіть C-x b *Messages* <Return>, щоб переглянути буфер
   повідомлень.  Тоді наберіть C-x b TUTORIAL <Return>, щоб
   повернутись до цього посібника.

Якщо змінити текст одного файлу й знайти інший файл, то перший файл не
буде збережено.  Зміни залишаться всередині Emacs у буфері цього
файлу.  Створення чи редагування буфера другого файлу не впливає на
буфер першого файлу.  Це дуже корисно, але буфер першого файлу теж
треба якось зберігати.  Перемикатись на цей буфер, щоб зберегти його
за допомогою C-x C-s, було б незручно.  Тож маємо

        C-x s     (Save — зберегти.)
                  Зберегти певні буфери до їхніх файлів

C-x s запитує вас про кожен буфер, який ви змінили й не зберегли, чи
бажаєте ви його зберегти.

»» Введіть рядок тексту й наберіть C-x s.
   Маєте отримати запитання, чи бажаєте ви зберегти буфер TUTORIAL.
   Погодьтесь, набравши у відповідь «y».


* РОЗШИРЕННЯ НАБОРУ КОМАНД
--------------------------

Команд Emacs значно більше, ніж можливо розкласти по всіх Control- і
Meta-символах.  Emacs обходить це за допомогою команди x (extend —
розширити).  Вона має два різновиди:

        C-x     Запитує один символ.
        M-x     Запитує англійську назву команди.

Ці команди дуже корисні, проте використовуються менш часто, ніж ті
команди, які ви вже опанували.  Деякі з цих команд ви вже бачили,
наприклад файлові команди C-x C-f для знаходження й C-x C-s для
збереження.  Ще один приклад — команда завершення сеансу Emacs: C-x
C-c пропонує зберегти кожен змінений файл, перш ніж зупинити Emacs.

Якщо ви користуєтесь графічним середовищем, вам не потрібні жодні
додаткові команди для переходу від Emacs до іншого застосунку.  Можете
переходити мишею чи командами менеджера вікон.  Але якщо ви
користуєтесь текстовим терміналом, який може показувати лише один
повноекранний застосунок, то вам потрібно «призупинити» Emacs, щоб
перейти до іншого застосунку.

Команда C-z виходить з Emacs *тимчасово* — тобто ви можете повернутись
до цього ж сеансу Emacs згодом.  Коли Emacs запущено в текстовому
терміналі, C-z «призупиняє» Emacs, тобто повертає вас до оболонки, але
не припиняє завдання Emacs.  У найпоширеніших оболонках ви можете
відновити Emacs командою «fg» або «%emacs».

Використовувати C-x C-c слід перед виходом із системи.  Ще цією
командою слід закривати той Emacs, який ви запустили для швидкого
редагування, наприклад за допомогою знаряддя обробки пошти.

Команд C-x чимало.  Ось перелік тих, які ви вже опанували:

        C-x C-f         (Find — знайти.)  Знайти файл.
        C-x C-s         (Save — зберегти.)  Зберегти буфер до файлу.
        C-x s           Зберегти певні буфери до їхніх файлів.
        C-x C-b         (Buffer — буфер.)  Перелічити буфери.
        C-x b           Перемкнути буфер.
        C-x C-c         (Close — закрити.)  Вийти з Emacs.
        C-x 1           Видалити всі вікна, крім одного.
        C-x u           (Undo — скасувати.)  Скасувати останню дію.

Розширені команди, які використовуються менш часто чи лише в певних
режимах, мають довші англійські назви.  Наприклад, команда
replace-string («замінити рядок») змінює в буфері один рядок на інший.
Коли ви набираєте M-x, Emacs показує внизу екрана запит M-x, у
відповідь на який вам слід набрати назву команди — «replace-string» у
цьому випадку.  Просто наберіть «repl s<TAB>» — і Emacs допише назву
команди.  (<TAB> — це клавіша Tab, яку зазвичай розміщено над клавішею
Caps Lock чи Shift ліворуч на клавіатурі.)  Підтвердьте назву команди
клавішею <Return>.

Команда replace-string потребує двох аргументів: рядка, який слід
замінити, й рядка, яким ви його замінюєте.  Введення кожного аргументу
потрібно завершити клавішею <Return>.

»» Посуньте курсор до порожнього рядка двома рядки нижче, ніж цей.
   Тоді наберіть M-x repl s<Return>змінено<Return>перетворено<Return>.

   Зверніть увагу на те, як зміниться цей рядок: ви заміните слово
   «змінено» на слово «перетворено» в усіх місцях після курсора, де
   воно зустрічається.


* САМОЗБЕРЕЖЕННЯ
----------------

Коли ви змінюєте файл, але не зберігаєте змін, то ці зміни може бути
втрачено, якщо комп'ютер зазнає збою.  Emacs захищає вас від цього
періодичним записом файлів «самозбереження» для кожного редагованого
файлу.  Назва файлу самозбереження починається й закінчується символом
#, тобто якщо ваш файл називається «hello.c», його файл самозбереження
називатиметься «#hello.c#».  Коли ви зберігаєте файл звичним шляхом,
Emacs видаляє відповідний файл самозбереження.

Після збою комп'ютера ви можете відновити самозбережені правки,
знайшовши файл як зазвичай (редагований файл, не файл самозбереження)
й набравши M-x recover-this-file <Return>.  (Команда перекладається як
«відновити цей файл».)  У відповідь на запит підтвердження, наберіть
yes<Return>, щоб погодитись і відновити дані самозбереження.


* ВІДЛУННЯ
----------

Коли Emacs помічає, що ви поволі набираєте багатосимвольну команду,
він показує вам набрану частину команди внизу екрана в області, яку
називають echo — відлунням.  Ця область покриває нижній рядок екрана.


* РЯДОК РЕЖИМУ
--------------

Рядок прямо над областю відлуння називають «рядком режиму».  В рядку
режиму має виводитись щось таке:

 -:**-  TUTORIAL       63% L749    (Fundamental)

Цей рядок надає корисні дані про стан Emacs і редагованого тексту.

Ви вже знаєте, що значить TUTORIAL: це назва того файлу, який ви
знайшли раніше.  ЧЧ% повідомляє, в якій частині буфера тексту ви
перебуваєте; це означає, що ЧЧ відсотків буфера зараз над екраном.
Якщо верх буфера видно на екрані, то замість «0%» буде «Top» — «Верх».
Якщо низ буфера видно на екрані, то буде показано «Bot» — «Низ».
Якщо ви читаєте такий маленький буфер, що весь його вміст видно на
одному екрані, то в рядку режиму буде «All» — «Усе».

Літера L (line — рядок) і цифри показують інший аспект вашого
місцеперебування — номер рядка поточної точки.

Зірки спереду вказують, що ви змінили текст.  Коли файл тільки
відкрито чи збережено, ця частина рядка режиму показує лише дефіси,
без зірок.

Частина рядка режиму всередині дужок вказує, які режими редагування
наразі чинні.  Типовий режим — це Fundamental («основний»); саме ним
ви зараз користуєтесь.  Це один із «вищих» режимів.

Emacs має чимало різних вищих режимів.  Деякі з них призначені для
редагування різних мов і/або видів тексту, зокрема режим Lisp (для
мови програмування Лісп), режим Text (для тексту) тощо.  В певну мить
активним може бути один і тільки один вищий режим, і його назву завжди
можна знайти в рядку режиму — там, де зараз ви бачите Fundamental.

Кожен вищий режим змінює поведінку декількох команд.  Наприклад, є
команди для створення коментарів у програмі, й оскільки кожна мова
програмування по-своєму визначає вигляд коментарів, то й кожен вищий
режим має вставляти коментарі по-своєму.  Кожен вищий режим є назвою
тої команди розширення, якою ви його вмикаєте.  Наприклад, командою
M-x fundamental-mode ви вмикаєте основний режим.

Для редагування тексту мовами людського спілкування, такими як цей
файл, ви зазвичай використовуватимете режим Text.

»» Наберіть M-x text-mode <Return>.

Не переймайтесь, жодні з уже відомих вам команд Emacs не стануть
поводитись геть інакше.  Проте ви можете помітити, що M-f і M-b тепер
обробляють апострофи як частини слів.  Досі, в режимі Fundamental, M-f
і M-b обробляли апострофи як пунктуацію.

Вищі режими зазвичай вносять саме такі невеличкі зміни: більшість
команд продовжують виконувати звичні завдання — з деякими
відмінностями в деталях.

Щоб переглянути документацію про поточний вищий режим, наберіть C-h m.

»» Посуньте курсор до рядка, наступного після цього.
»» Наберіть C-l C-l, щоб посунути цей рядок угору екрана.
»» Наберіть C-h m, щоб побачити різницю режимів Text і Fundamental.
»» Наберіть C-x 1, щоб вилучити документацію з екрана.

Вищі режими називаються вищими, тому що бувають і нижчі режими.  Нижчі
режими не заміщають вищих режимів, а трошки їх змінюють. Кожен нижчий
режим можна ввімкнути чи вимкнути окремо, незалежно від усіх інших
нижчих режимів — і незалежно від вашого вищого режиму.  Тож ви можете
не використовувати нижчих режимів зовсім, або використовувати єдиний
нижчий режим, або поєднувати декілька нижчих режимів.

Один із дуже корисних нижчих режимів, особливо для редагування тексту
мовами людського спілкування, — це режим Auto Fill (самозаповнення).
Коли цей режим увімкнено, Emacs автоматично вставляє символ нового
рядка між словами, коли при введенні тексту певний рядок виявляється
занадто широким.

Режим самозаповнення вмикається командою M-x auto-fill-mode <Return>.
Коли режим увімкнено, можете вимкнути його знову тою ж командою.  Якщо
режим вимкнено, команда його вмикає; а коли режим увімкнено, команда
його вимикає.  Можна сказати, що команда «перемикає режим».

»» Наберіть M-x auto-fill-mode <Return>.  Тоді набирайте «йцук » знов
   і знов, доки рядок не поділиться на два.  Пробіли слід набирати,
   оскільки самозаповнення розбиває рядки тільки на пробілах.

Поле зазвичай починається після 70 символів, але можете змінити це
командою C-x f.  Передайте бажане значення поля числовим аргументом
цій команді.

»» Наберіть C-x f із аргументом 20.  (C-u 2 0 C-x f).
   Тоді наберіть будь-який текст і зверніть увагу, яким чином Emacs
   поділить його на 20-символьні рядки.  Тоді поверніть полю значення
   70 за допомогою ще одної команди C-x f.

Якщо ви зміните щось посеред абзацу, режим самозаповнення не ділитиме
абзацу на рядки заново без вашого дозволу.
Щоб поділити абзац заново (замінюючи наявні символи нового рядка),
посуньте курсор до цього абзацу й наберіть M-q (META-q).

»» Посуньте курсор до попереднього абзацу й наберіть M-q.


* ПОШУК
-------

Emacs уміє шукати рядки (групи послідовних символів) в тексті як після
курсора, так і перед ним.  Пошук рядка є командою руху курсора, тобто
посуває курсор до наступного місця, де з'являється цей рядок.

Команда пошуку Emacs є покроковою.  Тобто пошук відбувається прямо при
набранні рядка, який ви бажаєте шукати.

Пошук уперед розпочинає команда C-s (search — пошук), а пошук назад —
команда C-r (reverse — навпаки).  АЛЕ ЗАЧЕКАЙТЕ!  Не поспішайте
випробовувати ці команди.

Набравши C-s, ви помітите, що область відлуння покаже рядок
«I-search».  Це означатиме, що Emacs перейшов до режиму incremental
search — покрокового пошуку — й очікує, поки ви наберете, що бажаєте
шукати.  <Return> завершує пошук.

»» Тепер наберіть C-s, щоб розпочати пошук.  ПОВОЛІ, літера за
   літерою, наберіть слово «курсор», зупиняючись після кожного символу
   й звертаючи увагу на те, що відбувається з курсором.  Отже, ви
   щойно пошукали «курсор» один раз.
»» Наберіть C-s іще раз — знайдіть наступну послідовність «курсор».
»» Тепер наберіть <DEL> чотири рази й зауважте, куди зсунеться курсор.
»» Наберіть <Return>, щоб завершити пошук.

Щойно ви спостерігали, як покроковий пошук Emacs намагається перейти
до послідовності, збіжної з набраним вами рядком.  Щоб перейти до
наступної послідовності «курсор», наберіть C-s іще раз.  Якщо такої
послідовності не існує, Emacs сигналить і повідомляє, що пошук наразі
«failing» — неуспішний.  C-g завершує пошук у будь-якому разі.

Якщо під час покрокового пошуку набрати <DEL», пошук «повертається» до
попередньої точки.  Якщо набрати <DEL> одразу після C-s — переходу до
наступного збігу з шуканим рядком — то <DEL> поверне курсор до
попереднього збігу.  Якщо збігів перед курсором нема, <DEL> зітре
останній символ рядка пошуку.  Наприклад, наберіть «к», щоб пошукати
перший збіг із «к».  Тоді наберіть «у» — це посуне курсор до першого
збігу з «ку».  Нарешті наберіть <DEL> — це зітре «у» з рядка пошуку,
тож курсор повернеться до першого збігу з «к».

Якщо посеред пошуку ви набираєте Control- чи Meta-символ (за винятком
символів власне пошуку, як-от C-s чи C-r), пошук припиняється.

C-s розпочинає пошук будь-якого збігу з шуканим рядком ПІСЛЯ того
місця, де курсор зараз.  Якщо бажаєте пошукати щось у більш ранньому
тексті, наберіть натомість C-r.  Усе, що ми зазначили про C-s,
стосується й C-r, — крім напряму пошуку, який стає зворотним.


* ДЕКІЛЬКА ВІКОН
----------------

Emacs має ту файну властивість, що ви можете переглядати водночас
декілька вікон на одному екрані.  (Зауважте, що Emacs використовує
роз'яснений у наступному розділі термін «рамка», або frame, замість
вжитого в деяких інших застосунках терміна «вікно».)  Підручник Emacs
містить глосарій термінів Emacs.

»» Посуньте курсор до цього рядка й наберіть C-l C-l.

»» Наберіть C-x 2 — розділіть екран на два вікна.  Обидва вікна
   показуватимуть цей посібник.  Курсор редагування залишатиметься в
   горішньому вікні.

»» Наберіть C-M-v — перегорніть нижнє вікно.
   (Якщо не маєте клавіші META, наберіть <ESC> C-v.)

»» Наберіть C-x o (other — інше), щоб посунути курсор до нижнього
   вікна.  Погортайте нижнє вікно за допомогою C-v та M-v.  Читайте ці
   вказівки далі в горішньому вікні.

»» Наберіть C-x o ще раз, щоб посунути курсор назад до горішнього
   вікна.  Курсор у горішньому вікні опиниться там же, де був досі.

Можете й надалі перемикатись між вікнами за допомогою C-x o.  «Обране»
вікно, в якому переважно відбувається редагування, — це те вікно, в
якому ви бачите помітний курсор, який блимає, коли ви нічого не
набираєте.  Кожне вікно має власну точку, на яку вказує його курсор;
якщо ви запускаєте Emacs у графічному середовищі, ці курсори не
блимають і мають вигляд порожніх коробок.

Команда C-M-v дуже корисна, коли ви редагуєте текст в одному вікні й
використовуєте інше вікно лише як довідку.  Не виходячи з обраного
вікна, ви можете гортати текст в іншому вікні за допомогою C-M-v.

C-M-v — це один із CONTROL-META-символів.  Якщо ви маєте клавішу META
(чи Alt), то можете набрати C-M-v, затиснувши водночас клавіші CONTROL
та META й натиснувши v.  Неважливо, яку з клавіш CONTROL і META ви
затиснете першою, бо ці клавіші не діють самостійно, а змінюють
символи, які ви набираєте.

Якщо у вас нема клавіші META, можете використати натомість <ESC>, але
тоді порядок таки важливий: наберіть спершу <ESC>, а тоді CONTROL-v.
CONTROL-<ESC> v не спрацює, бо <ESC> не змінює інші символи, а є
повноцінною клавішею.

»» Наберіть C-x 1 (у горішньому вікні), щоб позбутись нижнього вікна.

(Якби ви набрали C-x 1 у нижньому вікні, то позбулися б горішнього
вікна.  Уявляйте цю команду як «Залишити лише одне вікно — те, в якому
я зараз».)

Показувати один і той самий буфер в обох вікнах необов'язково.  Якщо в
одному вікні ви наберете C-x C-f і знайдете файл, то на інше вікно це
не вплине.  Можете знаходити файли в обох вікнах незалежно.

Ось ще один шлях застосування двох вікон для показу двох різних речей:

»» Наберіть C-x 4 C-f та назву одного зі своїх файлів.  Завершіть за
   допомогою <Return>.  Зазначений файл з'явиться в нижньому вікні.
   Курсор також туди посунеться.

»» Наберіть C-x o, щоб перейти до горішнього вікна,
   й C-x 1, щоб видалити нижнє вікно.


* ДЕКІЛЬКА РАМОК
----------------

Emacs також дає змогу створити декілька «рамок» (frames).  Рамкою
називають будь-яку добірку вікон разом із її меню, панелями гортання,
областю відлуння тощо.  У графічних середовищах Emacs називає рамкою
те, що багато інших застосунків називають «вікном».  Екран може
показувати декілька графічних рамок водночас.  На текстовому терміналі
може бути видно лише одну рамку.

»» Наберіть C-x 5 2.
   На вашому екрані з'явиться нова рамка.

У новій рамці ви можете робити все те, що й у початковій рамці.
Початкова рамка не є чимось особливим.

»» Наберіть C-x 5 0.
   Це вилучить обрану рамку.

Вилучити рамку можна й тим звичним шляхом, який передбачає графічне
середовище (зазвичай це кнопка «X» в одному з горішніх кутів рамки).
Якщо вилучити таким чином останню рамку сеансу Emacs, увесь Emacs буде
припинено.


* РІВНІ РЕКУРСІЇ РЕДАГУВАННЯ
----------------------------

Інколи ви потраплятимете в так званий «рівень рекурсії редагування».
Його позначають квадратні дужки в рядку режиму навколо круглих дужок
назви вищого режиму.  Наприклад, ви можете бачити [(Fundamental)]
замість (Fundamental).

Щоб вийти з рівня рекурсії редагування, наберіть <ESC> <ESC> <ESC>.
Це всеохопна команда виходу.  Можете використовувати її й для закриття
зайвих вікон чи виходу з мінібуфера.

»» Наберіть M-x, щоб потрапити до мінібуфера.
   Тоді наберіть <ESC> <ESC> <ESC>, щоб із нього вийти.

Вийти з рівня рекурсії редагування за допомогою C-g неможливо, бо C-g
використовується для скасування команд і аргументів УСЕРЕДИНІ рівня
рекурсії редагування.


* ОТРИМАТИ БІЛЬШЕ ДОВІДКИ
-------------------------

Цей посібник намагається надати необхідний для початку роботи з Emacs
мінімум даних.  Emacs уміє стільки всього, що одним посібником описати
всі його функції було б неможливо.  Проте вам буде цікаво дізнатись
більше про Emacs та його корисні функції.  Emacs надає команди для
читання документації про команди Emacs.  Усі команди довідки (help)
починаються з CONTROL-h — символу довідки.

Для отримання довідки наберіть символ C-h, а тоді той символ, довідку
якого бажаєте прочитати.  Якщо ви СПРАВДІ загубились, C-h ? попрохає
Emacs перелічити розділи довідки.  Якщо ви набрали C-h і передумали
читати довідку, натисніть C-g для скасування.

(Якщо C-h не показує довідкового повідомлення внизу екрана, спробуйте
набрати клавішу F1 чи M-x help <Return> натомість.)

Основна функція довідки — це C-h c.  Наберіть C-h, символ c, а також
символ чи послідовність команди; тоді Emacs покаже коротенький
англійський опис цієї команди.

»» Наберіть C-h c C-p.

Має з'явитись повідомлення на кшталт:

        C-p runs the command previous-line

Тобто «C-p виконує команду previous-line (попередній рядок)».  Це
повідомляє вам назву функції.  Оскільки назви функцій добираються
таким чином, щоб зображати дії, виконувані відповідною командою,
вони можуть слугувати коротенькою документацією — достатньою, щоб
нагадати вам команди, які ви вже опанували.

Багатосимвольні команди, такі як C-x C-s чи <ESC>v (замість M-v, якщо
не маєте клавіш META й ALT), також можна зазначати після C-h c.

Щоб дізнатися більше про команду, зокрема про клавіші, які можна
набирати після неї, використайте C-h k (keys — клавіші) замість C-h c
(command — команда).

»» Наберіть C-h k C-p.

Це покаже у вікні Emacs документацію функції та її назву.  Дочитавши
показане, наберіть C-x 1, щоб позбутись того вікна.  Робити це одразу
необов'язково.  Можете продовжити редагування, звіряючись із текстом
довідки, й набрати C-x 1 лише згодом.

Ось кілька інших корисних варіантів C-h:

   C-h x        Описати команду.  Вам буде треба набрати назву команди.

»» Спробуйте набрати C-h x previous-line <Return>.
   Це покаже всі наявні в Emacs дані про ту функцію,
   яка втілює команду C-p.

Схожа команда C-h v показує документацію змінних — зокрема тих,
значення яких ви можете змінити для налаштування поведінки Emacs.
Наберіть назву змінної, коли Emacs її у вас запитає.

   C-h a        (Apropos — пов'язане.)  Наберіть ключове слово — й
                Emacs покаже всі команди, назви яких містять це слово.
                Всі ці команди можна викликати за допомогою META-x.
                Для деяких команд Apropos наводить також символи чи
                послідовності, які виконують цю ж команду.

»» Наберіть C-h a file <Return>.

Це покаже в ще одному вікні перелік усіх команд M-x, назви яких
містять «file» — файл.  Поруч із назвами команд ви побачите відповідні
їм символи (як-от C-x C-f поруч із find-file — знайти файл).

»» Наберіть C-M-v, щоб прогорнути вікно довідки.
   Повторіть це декілька разів.

»» Наберіть C-x 1, щоб видалити вікно довідки.

   C-h i        (Info — дані.)  Читати вкладені підручники.  Ця команда
                веде вас до особливого буфера *info*, в якому ви можете
                читати підручники про встановлені у вашій системі пакунки.
                Наберіть m emacs <Return>, щоб почитати підручник Emacs.
                Якщо ви досі не користувались Info, наберіть h — і Emacs
                запустить для вас путівник можливостями режиму Info.
                Опрацювавши цей посібник, звертайтесь до Info-підручника
                Emacs як до основної документації.


* БІЛЬШЕ ФУНКЦІЙ
----------------

Щоб дізнатись більше про Emacs, почитайте його підручник усередині
Emacs, скориставшись меню Help (Довідка) чи набравши C-h r.  Дві
функції, які можуть вас особливо зацікавити, це Completion —
доповнення, яке заощаджує натиски клавіш; і Dired — редагування
каталогів, яке спрощує керування файлами.

Доповнення дає змогу набирати менше тексту.  Наприклад, щоб
перемкнутись на буфер *Messages*, можете набрати C-x b *M<Tab> — і
Emacs заповнить решту назви буфера настільки, наскільки зможе вивести
з уже набраного вами тексту.  Доповнення також працює з назвами команд
і файлів.  Підручник Emacs описує доповнення в розділі «Completion».

Dired дає змогу перелічувати файли в каталозі (а на вимогу ще й у
підкаталогах), рухатися цим переліком, відкривати, перейменовувати й
видаляти файли тощо.  Підручник Emacs описує керування файлами в
розділі «Dired».

Підручник також описує безліч інших функцій Emacs.


* ВСТАНОВЛЕННЯ ПАКУНКІВ
-----------------------

Спільнотою Emacs розроблено величезну добірку пакунків, які роблять
Emacs потужнішим.  Ці пакунки містять підтримку нових мов, теми
оформлення, додатки для взаємодії з іншими застосунками — й ще
багато-багато всього.

Щоб переглянути перелік усіх доступних пакунків, наберіть M-x
list-packages.  З'явиться екран, за допомогою якого ви можете
встановлювати й видаляти пакунки, а також читати описи пакунків.
Підручник Emacs розповідає про керування пакунками докладніше.


* ОТОЖ
------

Щоб вийти з Emacs, наберіть C-x C-c.

Посібник має на меті бути зрозумілим усім новим користувачкам і
користувачам, тож якщо будь-що роз'яснено нечітко чи помилково —
скаржтесь!  Український переклад: Денис Никула <vegan@libre.net.ua>.


* КОПІЮВАННЯ
------------

Цей посібник — нащадок цілого родоводу посібників Emacs, починаючи з
первісного посібника Emacs, який написав Стюарт Кракрафт.

Ця версія посібника — складник GNU Emacs.  Її захищено авторським
правом.  Розповсюджувати копії дозволено за певних умов:

  Copyright (C) 1985, 1996, 1998, 2001-2024 Free Software Foundation,
  Inc.  (Фонд вільного програмного забезпечення, Inc.)

  Цей файл — складник GNU Emacs.

  GNU Emacs — вільне програмне забезпечення: можете розповсюджувати
  й/або змінювати його згідно з умовами Загальної громадської ліцензії
  GNU в тому вигляді, в якому її публікує Фонд вільного програмного
  забезпечення, — версії 3 чи (на ваш розсуд) будь-якої новішої.

  GNU Emacs поширюється зі сподіванням, що він стане в нагоді, але БЕЗ
  ЖОДНИХ ГАРАНТІЙ; без навіть уявної гарантії КОМЕРЦІЙНОЇ ПРИДАТНОСТІ
  чи ВІДПОВІДНОСТІ БУДЬ-ЯКОМУ ПЕВНОМУ ЗАСТОСУВАННЮ.  Докладніше про це
  йдеться в Загальній громадській ліцензії GNU.

  Ви мали отримати копію Загальної громадської ліцензії GNU разом із
  GNU Emacs.  Якщо ні, перегляньте <https://www.gnu.org/licenses/>.

Будь ласка, прочитайте файл COPYING і поширте після цього копії
GNU Emacs вашим подругам і друзям.  Зупинімо гальмування розвитку
програмного забезпечення (так звану «власність» над ним),
використовуючи, пишучи й поширюючи вільні програми!