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
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
|
Εκμάθηση του Emacs. Δες το τέλος για όρους αντιγραφής.
Στο Emacs οι εντολές γενικά περιλαμβάνουν το πλήκτρο CONTROL (συχνά
αναγράφεται ως Ctrl) ή το πλήκτρο META (συνήθως επισημαίνεται ως ALT).
Αντί να γράφουμε το πλήρες όνομα κάθε φορά, θα χρησιμοποιούμε τις εξής
συντομογραφίες:
C-<χαρ> σημαίνει κράτα πατημένο το πλήκτρο CONTROL καθώς
πληκτρολογείς τον χαρακτήρα <χάρ>. Συνεπώς, C-f είναι:
κράτα πατημένο το CONTROL και πληκτρολόγησε το f.
M-<χαρ> σημαίνει κράτα πατημένο το πλήκτρο META ή ALT καθώς
πληκτρολογείς τον χαρακτήρα <χάρ>. Σε περίπτωση που δεν
υπάρχει πλήκτρο META ή ALT, πληκτρολόγησε και απελευθέρωσε
το πλήκτρο ESC και κατόπιν πληκτρολόγησε τον <χάρ>.
Γράφουμε <ESC> για το πλήκτρο ESC.
Σημαντική σημείωση: για να τερματίσεις το Emacs, πληκτρολόγησε C-x
C-c. (Δύο χαρακτήρες.) Για να ακυρώσεις μια μερικώς πληκτρολογημένη
εντολή, πληκτρολόγησε C-g.
Για να σταματήσεις την εκμάθηση, πληκτρολόγησε C-x k, κατόπιν <Return>
στην προτροπή.
Οι χαρακτήρες ">>" στο αριστερό περιθώριο δείχνουν οδηγίες για να
δοκιμάσεις μια εντολή. Για παράδειγμα:
<<Blank lines inserted around following line by help-with-tutorial>>
[Κενό για διδακτικούς σκοπούς. Το κείμενο συνεχίζεται παρακάτω.]
>> Τώρα πληκτρολόγησε C-v (δες επόμενη οθόνη) ώστε να κυλήσεις πιο
κάτω στην παρούσα εκμάθηση. (Κάνε το, κρατώντας πατημένο το
πλήκτρο CONTROL και πληκτρολογώντας v.) Από εδώ και στο εξής,
παρακαλώ κάνε αυτό όποτε φτάνεις στο τέλος της οθόνης.
Σημείωσε πως υπάρχει επικάλυψη δύο γραμμών όταν κυλάς μια πλήρη οθόνη:
αυτή σου προσφέρει κάποια συνέχεια ώστε να συνεχίσεις να διαβάζεις το
κείμενο.
Αυτό είναι αντίγραφο του κειμένου εκμάθησης του Emacs, ελαφρά
τροποποιημένο για εσένα. Παρακάτω θα σου αναθέσουμε να δοκιμάσεις
μερικές εντολές που τροποποιούν το εν λόγω κείμενο. Μην ανησυχείς αν
τροποποιήσεις αυτό το κείμενο πριν σου το ζητήσουμε· η πράξη αυτή
αναφέρεται ως «επεξεργασία» και το Emacs χρησιμοποιείται για αυτόν τον
σκοπό.
Το πρώτο πράγμα που πρέπει να γνωρίζεις είναι πως να κινείσαι από το
ένα σημείο σε άλλο σημείο του κειμένου. Ήδη ξέρεις πως να πηγαίνεις
μια οθόνη προς τα κάτω με το C-v. Για να κινηθείς αντίστροφα,
πληκτρολόγησε M-v (κράτα πατημένο το META και πληκτρολόγησε το v, ή
πληκτρολόγησε <ESC>v εάν δεν έχει πλήκτρο META ή ALT).
>> Δοκίμασε να πληκτρολογήσεις M-v και μετά C-v μερικές φορές.
Είναι αποδεκτό να κυλήσεις το κείμενο με άλλους τρόπους, αν τους
ξέρεις.
* ΣΥΝΟΨΗ
--------
Οι εξής εντολές είναι χρήσιμες για να βλέπεις πλήρης οθόνες:
C-v Κινήσου μπροστά/κάτω μια πλήρη οθόνη
M-v Κινήσου πίσω/πάνω μια πλήρη οθόνη
C-l Καθάρισε την οθόνη επανεμφανίζοντας το κείμενο της και
μεταφέροντας τον δείκτη (κέρσορα) στο κέντρο της.
(Αυτό είναι CONTROL-L, όχι CONTROL-1.)
>> Εντόπισε τον δείκτη και σημείωσε το κείμενο πέριξ του. Μετά
πληκτρολόγησε C-l. Ξαναβρές τον δείκτη και παρατήρησε το κείμενο
δίπλα του, αλλά τώρα πρόσεξε πως βρίσκεται στο κέντρο της οθόνης.
Εάν πατήσεις C-l πάλι, το κείμενο αυτό θα μετατοπιστεί στο πάνω
μέρος της οθόνης. Πάτα το C-l ξανά και θα πάει στο κάτω μέρος.
Μπορείς επίσης να χρησιμοποιήσεις τα πλήκτρα PageUp και PageDn για να
κινηθείς ανά πλήρη οθόνη, εάν ο ακροδέκτης (τερματικό) σου τα έχει,
ωστόσο είναι πιο αποτελεσματικό να χρησιμοποιείς τα C-v και M-v.
* ΒΑΣΙΚΟΣ ΕΛΕΓΧΟΣ ΤΟΥ ΔΕΙΚΤΗ
----------------------------
Η κίνηση ανά πλήρη οθόνη είναι χρήσιμη, αλλά πως θα πας σε
συγκεκριμένο σημείο εντός του κειμένου της οθόνης;
Υπάρχουν πολλοί τρόποι να το επιτύχεις αυτό. Μπορείς να
χρησιμοποιήσεις τα πλήκτρα με τα βέλη, αλλά είναι πιο αποτελεσματικό
να κρατήσεις τα χέρια σου στην κανονική θέση και να χρησιμοποιήσεις
τις εντολές C-p, C-b, C-f, και C-n. Οι χαρακτήρες αυτοί είναι το
αντίστοιχο των τεσσάρων πλήκτρων με τα βέλη, κατά αυτόν τον τρόπο:
Προηγούμενη γραμμή, C-p
:
:
Πίσω, C-b .... Παρούσα θέση του δείκτη .... Εμπρός, C-f
:
:
Επόμενη γραμμή, C-n
>> Μετακίνησε τον δείκτη στη μέση του διαγράμματος αυτού
χρησιμοποιώντας C-n ή C-p. Μετά πληκτρολόγησε C-l για να δεις το
όλο διάγραμμα στο κέντρο της οθόνης.
Θα σου είναι ευκολότερο να θυμάσαι αυτά τα γράμματα από τις λέξεις τις
οποίες αναφέρουν στην Αγγλική: P για προηγούμενο (previous), N για
επόμενο (next), B για πίσω (backward), και F για εμπρός (forward). Θα
χρησιμοποιείς διαρκώς αυτές τις βασικές εντολές για την τοποθέτηση του
δείκτη.
>> Κάνε μερικά C-n μέχρι να φέρεις τον δείκτη σε αυτή την γραμμή.
>> Κινήσου εντός της γραμμής με μερικά C-f και μετά πάνω με κάποια
C-p. Δες τι κάνει το C-p όταν βρίσκεται στην μέση της γραμμής.
Κάθε γραμμή κειμένου τελειώνει με τον χαρακτήρα νέας γραμμής, που
επιτελεί τον σκοπό του διαχωρισμού της μίας γραμμής από την άλλη.
(Συνήθως η τελευταία γραμμή σε ένα αρχείο τελειώνει με τον χαρακτήρα
νέας γραμμής, ωστόσο το Emacs δεν απαιτεί κάτι τέτοιο.)
>> Δοκίμασε το C-b στην αρχή της γραμμής. Θα μετακινήσει τον δείκτη
στο τέλος της προηγούμενης γραμμής. Διότι κινείται προς τα πίσω
προσπερνώντας τον χαρακτήρα νέας γραμμής.
Το C-f έχει την ίδια συμπεριφορά με το C-b.
>> Κάνε μερικά ακόμα C-b, ώστε να εντοπίσεις τον δείκτη. Κατόπιν
κάνε C-f για να γυρίσεις στο τέλος της γραμμής. Μετά ένα ακόμα C-f
για να κινηθείς στην αρχή της επόμενης γραμμής.
Όταν κινείσαι πέρα από το πάνω ή κάτω μέρος της οθόνης, το κείμενο
πέραν της άκρης μετατοπίζεται εντός της οθόνης. Αυτό ονομάζεται
«κύλιση». Επιτρέπει στο Emacs να φέρει τον δείκτη στο ορισμένο
σημείο του κειμένου χωρίς να κινηθεί εκτός της οθόνης.
>> Δοκίμασε να κινήσεις τον δείκτη πέρα από το κάτω μέρος της οθόνης
με το C-n και δες τι συμβαίνει.
Εάν η κίνηση ανά χαρακτήρα είναι πολύ αργή, μπορείς να κινηθείς ανά
λέξη. Το M-f (META-f) πάει μπροστά μια λέξη και M-b πίσω μια λέξη.
>> Πληκτρολόγησε μερικά 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 συνεχίζουν να κινούνται ανά μία πρόταση. Παρότι δεν είναι
ανάλογα, το καθένα φαντάζει φυσικό.
Η θέση του δείκτη εντός του κειμένου ονομάζεται «σημείο» (point). Με
άλλα λόγια, ο δείκτης δείχνει που βρίσκεται το σημείο εντός του
κειμένου στην οθόνη.
Ιδού μία σύνοψη των απλών κινήσεων του δείκτη, συμπεριλαμβανομένων
των εντολών για κίνηση ανά λέξη και πρόταση:
C-f Κινήσου εμπρός ένα χαρακτήρα
C-b Κινήσου πίσω ένα χαρακτήρα
M-f Κινήσου εμπρός μία λέξη
M-b Κινήσου πίσω μία λέξη
C-n Κινήσου στην επόμενη γραμμή
C-p Κινήσου στην προηγούμενη γραμμή
C-a Κινήσου στην αρχή της γραμμής
C-e Κινήσου στο τέλος της γραμμής
M-a Κινήσου πίσω στην αρχή της πρότασης
M-e Κινήσου εμπρός στο τέλος της πρότασης
>> Δοκίμασε όλες αυτές τις εντολές μερικές φορές για εξάσκηση. Αυτές
είναι οι πιο συνηθισμένες εντολές.
Δύο άλλες σημαντικές κινήσεις του δείκτη είναι το M-< (META
Μικρότερο), που κινείται στην αρχή ολόκληρου του κειμένου, και M->
(META Μεγαλύτερο) που κινείται στο τέλος ολόκληρου του κειμένου.
Στους πλείστους ακροδέκτες (τερματικά), το '<' είναι στο ίδιο πλήκτρο
με το κόμμα, οπότε πρέπει να κρατάς πατημένο το shift για να το
πληκτρολογήσεις. Σε αυτούς τους ακροδέκτες πρέπει να χρησιμοποιήσεις
το shift και για το M-<, αλλιώς θα πατάς M-κόμμα.
>> Δοκίμασε το M-< τώρα για να κινηθείς στην αρχή αυτής της εκμάθησης.
Κατόπιν χρησιμοποίησε το C-v επανειλημμένα για να επιστρέψεις εδώ.
>> Τώρα δοκίμασε το M-> για να κινηθείς στο τέλος αυτής της εκμάθησης.
Κατόπιν χρησιμοποίησε το 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 που είναι γνωστή και ως η μπάρα κύλισης (scroll bar). Μπορείς
να κυλήσεις το κείμενο πατώντας με το ποντίκι πάνω στην μπάρα κύλισης.
Αν το ποντίκι σου έχει ροδέλα, μπορείς να την χρησιμοποιήσεις για
κύλιση.
* ΑΝ ΤΟ 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 ως απάντηση.
* ΠΑΡΑΘΥΡΑ
----------
Το 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· πολλές εξ αυτών
έχουν να κάνουν με παράθυρα (windows), αρχεία (files), ενταμιευτές
(buffers), και τα σχετικά. Αυτές οι εντολές είναι δύο, τρία ή τέσσερα
γράμματα μάκρος.
* ΕΙΣΑΓΟΝΤΑΣ ΚΑΙ ΔΙΑΓΡΑΦΟΝΤΑΣ
-----------------------------
Αν θέλεις να εισάγεις κείμενο, απλά πληκτρολόγησε το. Κοινοί
χαρακτήρες, όπως το Α, 7, *, κτλ. εισάγονται καθώς τους πληκτρολογείς.
Για να εισάγεις τον χαρακτήρα νέας γραμμής, πληκτρολόγησε <Return>
(αυτό είναι το πλήκτρο που μερικές φορές αναγράφεται ως «Enter»).
Για να διαγράψεις τον χαρακτήρα ακριβώς πριν από το τωρινό σημείο του
δείκτη, πληκτρολόγησε <DEL>. Αυτό είναι το πλήκτρο που συνήθως
αναγράφεται στο πληκτρολόγιο ως «Backspace»--το ίδιο θα
χρησιμοποιούσες κανονικά κι εκτός Emacs για να διαγράψεις τον
τελευταίο χαρακτήρα που εισήγαγες.
Συνήθως υπάρχει άλλο ένα πλήκτρο που αναγράφεται ως <Delete>, αλλά
αυτό είναι διαφορετικό από αυτό που προαναφέραμε και που εννοούμε με
το <DEL> του Emacs.
>> Κάνε αυτό τώρα--πληκτρολόγησε μερικούς χαρακτήρες, μετά διάγραψε
τους πατώντας το <DEL> μερικές φορές. Μην ανησυχείς για την
τροποποίηση αυτού του αρχείου: δεν τροποποιείς το κύριο κείμενο
εκμάθησης. Αυτό είναι το προσωπικό σου αντίγραφο.
Όταν η γραμμή του κειμένου γίνεται πολύ μεγάλη για μια γραμμή της
οθόνης, η γραμμή του κειμένου «συνεχίζεται» σε δεύτερη γραμμή οθόνης.
Εάν χρησιμοποιείς γραφική προβολή, καμπυλωτά βελάκια θα εμφανιστούν
στα στενά πλαίσια που βρίσκονται στα άκρα της επιφάνειας του κειμένου
(οι «παρυφές» αριστερά και δεξιά), για να επισημάνουν που συνεχίζεται
η γραμμή. Εάν χρησιμοποιείται προβολή κειμένου, η συνεχιζόμενη γραμμή
παρουσιάζεται με την αντίστροφη κάθετο ('\') στην δεξιότερη στήλη της
οθόνης.
>> Εισήγαγε κείμενο μέχρις ότου φτάσεις στο δεξί περιθώριο και
συνέχισε να προσθέτεις. Θα δεις να εμφανίζεται η γραμμή συνέχειας.
>> Πάτα <DEL> επανειλημμένα για να διαγράψεις το κείμενο μέχρι που η
γραμμή να χωράει ξανά στην οθόνη. Η γραμμή συνέχειας θα χαθεί.
Μπορείς να διαγράψεις τον χαρακτήρα νέας γραμμής όπως κάθε άλλο
χαρακτήρα. Διαγράφοντας τον χαρακτήρα νέας γραμμής μεταξύ δύο γραμμών
έχει σαν αποτέλεσμα την συνένωση τους σε μία γραμμή. Εάν σαν
αποτέλεσμα η γραμμή είναι πολύ μεγάλη, θα παρουσιαστεί με την γραμμή
συνέχειας.
>> Μετακίνησε τον δείκτη στην αρχή της γραμμής και πληκτρολόγησε
<DEL>. Αυτό θα συνενώσει την γραμμή με την από πάνω της.
>> Πληκτρολόγησε <Return> για να επανεισάγεις τον χαρακτήρα νέας
γραμμής που μόλις διέγραψες.
Το πλήκτρο <Return> είναι ειδικό, καθώς πληκτρολογώντας το μπορεί να
κάνει περισσότερα πράγματα πέραν της εισαγωγής του χαρακτήρα νέας
γραμμής. Ανάλογα με το περιβάλλων κείμενο, μπορεί να προσθέσει κενό
μετά τον χαρακτήρα νέας γραμμής, ώστε όταν αρχίσεις να γράφεις στην
νέα γραμμή, το κείμενο να στοιχίζεται με την προηγούμενη γραμμή.
Ονομάζουμε αυτή την συμπεριφορά (όπου το πάτημα ενός πλήκτρου κάνει
κάτι παραπάνω από την εισαγωγή του σχετικού χαρακτήρα) «ηλεκτρική».
>> Ιδού ένα παράδειγμα της ηλεκτρικότητας του <Return>.
Πληκτρολόγησε <Return> στο τέλος αυτής της γραμμής.
Κανονικά θα δεις πως μετά την εισαγωγή του χαρακτήρα νέας γραμμής, το
Emacs εισάγει κενά ώστε ο δείκτης να βρίσκεται ακριβώς κάτω από το
«Π» του «Πληκτρολόγησε».
Θυμήσου πως οι πλείστες εντολές του Emacs δέχονται μετρητή επανάληψης·
αυτό περιλαμβάνει την εισαγωγή κειμένου. Επαναλαμβάνοντας ένα
χαρακτήρα κειμένου τον εισάγει πολλές φορές.
>> Δοκίμασε το τώρα -- πληκτρολόγησε C-u 8 * για να εισάγεις ********.
Έχεις ήδη μάθει τους πιο βασικούς τρόπους για την πληκτρολόγηση
κειμένου στο Emacs και την διόρθωση των λαθών. Μπορείς επίσης να
διαγράψεις λέξεις και γραμμές. Ιδού η σύνοψη των πράξεων διαγραφής:
<DEL> Διάγραψε τον χαρακτήρα ακριβώς πριν τον δείκτη
C-d Διάγραψε τον χαρακτήρα ακριβώς μετά τον δείκτη
M-<DEL> Εξαφάνισε την λέξη ακριβώς πριν τον δείκτη
M-d Εξαφάνισε την λέξη μετά τον δείκτη
C-k Εξαφάνισε από το σημείο του δείκτη ως το τέλος της γραμμής
M-k Εξαφάνισε ως το τέλος της παρούσας πρότασης
Πρόσεξε πως το <DEL> και C-d σε σύγκριση με M-<DEL> και M-d
προεκτείνουν την παράλληλο που άρχισε με το C-f και M-f (κατ'ακρίβεια,
το <DEL> δεν είναι χαρακτήρας control, αλλά ας μην ανησυχούμε για
αυτό). Τα C-k και M-k είναι κατά τρόπο όπως το C-e και M-e καθώς οι
γραμμές ταιριάζουν με τις προτάσεις.
Μπορείς επίσης να εξαφανίσεις ένα μέρος κειμένου με ενιαίο τρόπο.
Κινήσου σε μία άκρη του και πληκτρολόγησε C-<SPC>. (<SPC> είναι το
πλήκτρο του κενού.) Κατόπιν, μετακίνησε τον δείκτη στην άλλη άκρη του
κειμένου που θέλεις να εξαφανίσεις. Καθώς το κάνεις αυτό, το Emacs
επισημαίνει το κείμενο μεταξύ των δύο άκρων του δείκτη και του σημείου
όπου πληκτρολόγησες C-<SPC>. Τέλος, πληκτρολόγησε C-w. Αυτό
εξαφανίζει το κείμενο μεταξύ των δύο σημείων.
>> Μετακίνησε τον δείκτη στο γράμμα Μ στην αρχή της προηγούμενης
παραγράφου.
>> Πληκτρολόγησε C-<SPC>. Το Emacs θα σου γράψει μήνυμα στο κάτω
μέρος της οθόνης πως τέθηκε σημάδι («Mark set»).
>> Μετακίνησε τον δείκτη στο κ της λέξης «άκρη» στην δεύτερη γραμμή
της παραγράφου.
>> Πληκτρολόγησε C-w. Αυτό θα εξαφανίσει το κείμενο που άρχιζε με Μ
και τελειώνει ακριβώς πριν το κ.
Η διαφορά μεταξύ της «εξαφάνισης» και της «διαγραφής» είναι πως το
«εξαφανισμένο» κείμενο μπορεί να επανεισαχθεί (σε οποιαδήποτε θέση),
ενώ τα «διαγραμμένα» πράγματα δεν μπορούν να επανεισαχθούν κατά αυτόν
τον τρόπο (μπορείς, ωστόσο, να αναιρέσεις την διαγραφή--δες παρακάτω).
Επανεισαγωγή εξαφανισμένου κειμένου ονομάζεται «τράβηγμα» («yanking»).
(Φαντάσου πως τραβάς κάτι πίσω το οποίο είχε αφαιρεθεί.) Γενικά, οι
εντολές που αφαιρούν πολύ κείμενο το εξαφανίζουν, ενώ οι εντολές που
αφαιρούν απλά ένα χαρακτήρα, ή μόνο κενές γραμμές ή κενά, κάνουν
διαγραφή (οπότε δεν μπορείς να τα τραβήξεις πίσω). <DEL> και C-d
κάνουν διαγραφή στην απλή περίπτωση, χωρίς παράμετρο. Αν τους δοθεί
παράμετρος, τότε κάνουν εξαφάνιση.
>> Μετακίνησε τον δείκτη στην αρχή μιας γραμμής που δεν είναι κενή.
Κατόπιν πληκτρολόγησε C-k για να εξαφανίσεις το κείμενο ως το τέλος
της γραμμής.
>> Πληκτρολόγησε C-k δεύτερη φορά. Θα δεις πως εξαφανίζει τον
χαρακτήρα νέας γραμμής που ακολουθεί εκείνη την γραμμή.
Σημείωσε πως ένα C-k εξαφανίζει το περιεχόμενο της γραμμής, ενώ
δεύτερο C-k εξαφανίζει την ίδια την γραμμή και κάνει όλες τις
ακόλουθες γραμμές να μετατοπιστούν προς τα πάνω. Το C-k ερμηνεύει την
αριθμητική παράμετρο με ειδικό τρόπο: εξαφανίζει τις γραμμές ΚΑΙ το
περιεχόμενο τους. Αυτό δεν πρόκειται για απλή επανάληψη. C-u 2 C-k
εξαφανίζει δύο γραμμές και τους αντίστοιχους χαρακτήρες νέας γραμμής·
ενώ πληκτρολογώντας το C-k δύο φορές δεν θα το έκανε αυτό.
Μπορείς να τραβήξεις εξαφανισμένο κείμενο στο ίδιο σημείο από όπου
εξαφανίστηκε, ή σε κάποιο άλλο σημείο που επεξεργάζεσαι, ή ακόμα σε
άλλο αρχείο. Μπορείς να τραβήξεις το ίδιο κείμενο πολλές φορές· αυτό
δημιουργεί πολλαπλά αντίγραφα του. Άλλοι κειμενογράφοι ονομάζουν την
εξαφάνιση και το τράβηγμα «αποκοπή» και «επικόλληση» (δες το γλωσσάριο
στο εγχειρίδιο του 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 θετικές ή αρνητικές παραμέτρους.
* ΑΝΑΙΡΕΣΗ
----------
Εάν κάνεις αλλαγή στο κείμενο κι ύστερα κρίνεις πως ήταν λάθος,
μπορείς να την αναιρέσεις με την εντολή αναίρεσης C-/.
Κανονικά, το C-/ αναιρεί τις αλλαγές που επέφερε μία εντολή. Αν
επαναλάβεις το C-/ πολλές φορές στη σειρά, κάθε επανάληψη αναιρεί
ακόμα μία εντολή.
Ωστόσο υπάρχουν δύο εξαιρέσεις: εντολές που δεν τροποποιούν κείμενο
δεν μετρούν (όπως εντολές που κινούν τον δείκτη ή κυλούν το κείμενο)
και χαρακτήρες που αυτό-εισάγονται συνήθως κρίνονται ως ομάδες έως 20
μέλη. (Αυτό είναι για να περιορίσει τον αριθμό των C-/ που
απαιτούνται για την αναίρεση εισαγωγής κειμένου.)
>> Εξαφάνισε αυτή την γραμμή με C-k και πληκτρολόγησε C-/ ώστε να
επανεμφανιστεί.
Το C-_ είναι εναλλακτική εντολή αναίρεσης που λειτουργεί το ίδιο με το
C-/. Σε ορισμένους ακροδέκτες κειμένου, ενδέχεται να μην χρειάζεται
το shift για να εισάγεις το C-_. Σε ορισμένους ακροδέκτες κειμένου,
το C-/ στέλνει το σήμα του C-_ στο Emacs. Εναλλακτικά, το C-x u
λειτουργεί ακριβώς όπως το C-/, αλλά είναι λίγο πιο δύσκολο να το
πληκτρολογήσεις.
Η αριθμητική παράμετρος στα C-/, C-_, C-x u δρα ως μετρητής
επανάληψης.
Μπορείς να αναιρέσεις την διαγραφή κειμένου κατά τον ίδιο τρόπο που
αναιρείς την εξαφάνιση κειμένου. Ο διαχωρισμός μεταξύ εξαφάνισης και
διαγραφής έχει σημασία μόνο όταν θες να τραβήξεις κάτι πίσω με το C-y:
δεν έχει καμιά διαφορά για τους σκοπούς της αναίρεσης.
* ΑΡΧΕΙΑ
--------
Για να καταστήσεις μόνιμο το κείμενο που επεξεργάζεσαι, πρέπει να το
βάλεις σε αρχείο. Αλλιώς θα χαθεί όταν κλείσεις το Emacs. Για να
βάλεις κείμενο σε αρχείο, πρέπει να το «βρεις» πριν εισάγεις το
κείμενο. (Η πράξη αυτή ονομάζεται επίσης ως «επίσκεψη» στην τοποθεσία
του αρχείου.)
Εξεύρεση του αρχείο σημαίνει πως βλέπεις το περιεχόμενο του εντός του
Emacs. Κατά πολλούς τρόπους, είναι σαν να επεξεργάζεσαι το αρχείο
απευθείας. Ωστόσο, οι αλλαγές που κάνεις καθίστανται μόνιμες μόνο
αφού «αποθηκεύσεις» το αρχείο. Αυτό γίνεται ώστε να μην μένουν
μισοτελειωμένα αρχεία στο σύστημα ενάντια στην θέληση σου. Ακόμα κι
αν αποθηκεύσεις τις αλλαγές, το Emacs διατηρεί αντίγραφο του γνησίου
αρχείου υπό ελαφρώς τροποποιημένο όνομα, ώστε να μπορείς να το
επαναφέρεις σε περίπτωση που συνέβη κάποιο λάθος.
Αν κοιτάξεις προς το κάτω μέρος της οθόνης θα δεις μια γραμμή που
αρχίζει με παύλες και αναφέρει « -:--- TUTORIAL.el_GR» ή κάπως έτσι.
Αυτό το μέρος της οθόνης συνήθως δείχνει το όνομα του αρχείου που
επισκέπτεσαι. Τώρα επισκέπτεσαι το προσωπικό σου αντίγραφο του
κειμένου εκμάθησης του Emacs, που ονομάζεται «TUTORIAL.el_GR». Όταν
βρίσκεις ένα αρχείο με το Emacs, το όνομα του θα εμφανιστεί σε εκείνο
ακριβώς το σημείο.
Μια ειδική πτυχή της εντολής για εξεύρεση αρχείου είναι πως πρέπει να
προσδιορίσεις ποιο αρχείο θέλεις. Λέμε πως η εντολή «διαβάζει την
παράμετρο» (στην προκειμένη περίπτωση αυτή είναι το όνομα του
αρχείου). Αφού πληκτρολογήσεις την εντολή
C-x C-f Βρες ένα αρχείο
το Emacs θα σου ζητήσει να πληκτρολογήσεις το όνομα του. Το όνομα
του αρχείου που εισάγεις εμφανίζεται στο κάτω μέρος της οθόνης. Η
τελευταία γραμμή ονομάζεται μικροενταμιευτής (minibuffer) όταν
χρησιμοποιείται για τέτοιους σκοπούς εισαγωγής εντολής. Μπορείς να
χρησιμοποιήσεις τις κοινές εντολές του Emacs για επεξεργασία κειμένου
καθώς γράφεις το όνομα του αρχείου.
Ενόσω δακτυλογραφείς το όνομα του αρχείο (ή κάθε άλλο κείμενο στον
μικροενταμιευτή), μπορείς να ακυρώσεις την εντολή με το C-g.
>> Πληκτρολόγησε C-x C-f και μετά C-g. Αυτό ακυρώνει τον
μικροενταμιευτή και την εντολή C-x C-f που τον χρησιμοποιούσε.
Συνεπώς δεν θα βρεις κανένα αρχείο.
Όταν ολοκληρώσεις την εισαγωγή του ονόματος ενός αρχείου, πάτα
<Return> για να την επικυρώσεις. Ο μικροενταμιευτής εξαφανίζεται
καθώς το C-x C-f αναλαμβάνει δράση για να βρει το αρχείο που του
όρισες.
Το περιεχόμενο του αρχείου τώρα εμφανίζεται στην οθόνη και μπορείς να
το επεξεργαστείς. Όταν θέλεις να μονιμοποιήσεις τις αλλαγές που
έκανες, χρησιμοποίησε την εντολή
C-x C-s Αποθήκευσε το αρχείο
Αυτή αντιγράφει το κείμενο που βρίσκεται στο Emacs στο εν λόγω αρχείο.
Την πρώτη φορά που το κάνεις αυτό, το Emacs μετονομάζει το γνήσιο ώστε
να μην χαθεί. Το νέο όνομα περιέχει το σύμβολο «~» ως κατάληξη του
αρχικού ονόματος. Όταν ολοκληρωθεί η αποθήκευση, το Emacs παρουσιάζει
το όνομα του αρχείου όπου γράφτηκαν οι αλλαγές.
>> Πληκτρολόγησε C-x C-s TUTORIAL.el_GR <Return>.
Αυτό θα αποθηκεύσει αυτό το κείμενο σε αρχείο με το όνομα
TUTORIAL.el_GR και θα αναφέρει πως έγραψε σε αυτό στο κάτω μέρος
της οθόνης.
Μπορείς να βρεις υφιστάμενο αρχείο είτε για να το δεις ή να το
επεξεργαστείς. Μπορείς επίσης να βρεις αρχείο το οποίο δεν
προϋπάρχει. Έτσι το Emacs θα δημιουργήσει το αρχείο: θα βρεις το νέο
αρχείο, το οποίο είναι κενό, και κατόπιν θα εισάγεις κείμενο σε αυτό.
Όταν επιχειρήσεις να το αποθηκεύσεις, το Emacs θα δημιουργήσει το
αρχείο αυτό με το περιεχόμενο που του έδωσες. Από εκεί και πέρα
θεώρησε πως επεξεργάζεσαι ένα υφιστάμενο αρχείο.
* ΕΝΤΑΜΙΕΥΤΕΣ
-------------
Εάν βρεις δεύτερο αρχείο με το C-x C-f, το πρώτο παραμένει εντός του
Emacs. Μπορείς να επανέλθεις σε αυτό αν το ξαναβρείς με το C-x C-f.
Έτσι δύναται να έχεις πολλά αρχεία ανοιχτά εντός του Emacs.
Το Emacs αποθηκεύει το περιεχόμενο του κάθε αρχείου σε αντικείμενο το
οποίο ονομάζεται «ενταμιευτής» (buffer). Η εξεύρεση αρχείου
δημιουργεί νέο ενταμιευτή εντός του Emacs. Για να δεις την λίστα με
όλους τους υφιστάμενους ενταμιευτές, πληκτρολόγησε
C-x C-b Παράθεσε ενταμιευτές
>> Δοκίμασε το 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.el_GR <Return> για να επιστρέψεις
σε αυτό το κείμενο εκμάθησης του Emacs.
Συνήθως, το όνομα του ενταμιευτή αντιστοιχεί σε αυτό του αρχείου
(χωρίς το μέρος του αρχείου που αναφέρει τον κατάλογο/φάκελο στον
οποίο βρίσκεται). Ωστόσο αυτό δεν ισχύει πάντοτε. Η παράθεση
ενταμιευτών που φτιάχνει το C-x C-b δείχνει τόσο το όνομα του
ενταμιευτή όσο κι αυτό του αρχείου.
Κάποιοι ενταμιευτές δεν ανταποκρίνονται σε αρχεία. Ο ενταμιευτής
ονόματι «*Buffer List*», που περιέχει τα στοιχεία του C-x C-b, δεν
έχει κάποιο υποκείμενο αρχείο. Ο ενταμιευτής αυτού του
TUTORIAL.el_GR αρχικά δεν είχε κάποιο αρχείο, αλλά τώρα έχει, καθώς
στην προηγούμενη ενότητα χρησιμοποίησες το C-x C-s για να τον
αποθηκεύσεις σε αρχείο.
Ο ενταμιευτής με το όνομα «*Messages*» επίσης δεν έχει αρχείο. Αυτός
περιέχει όλα τα μηνύματα που εμφανίζονται στο κάτω μέρος της οθόνης
κατά την λειτουργία του Emacs.
>> Πληκτρολόγησε C-x b *Messages* <Return> για να δεις τον ενταμιευτή
με τα μηνύματα. Μετά πληκτρολόγησε C-x b TUTORIAL.el_GR <Return>
για να επανέλθεις εδώ.
Εάν κάνεις αλλαγές στο κείμενο ενός αρχείου, μετά βρεις κάποιο άλλο
αρχείο, η πράξη αυτή δεν αποθηκεύει τις αλλαγές που έκανες στο πρώτο
αρχείο. Οι αλλαγές παραμένουν εντός του Emacs, στον ενταμιευτή που
ανταποκρίνεται σε εκείνο το αρχείο. Η δημιουργία ή επεξεργασία του
δεύτερου αρχείου δεν επηρεάζει το πρώτο. Αυτό είναι πολύ χρήσιμο,
ωστόσο σημαίνει πως χρειάζεσαι έναν βολικό τρόπο να αποθηκεύεις
αλλαγές σε πολλούς ενταμιευτές. Το να πρέπει να επιστρέψεις στο
πρώτο αρχείο απλά και μόνο για να το αποθηκεύσεις είναι ενοχλητικό.
Οπότε έχουμε
C-x s Αποθήκευσε ορισμένους ενταμιευτές στα αρχεία τους
Το C-x s ρωτά για κάθε ενταμιευτή που επισκέπτεται αρχείο και που
κρατά αλλαγές οι οποίες δεν έχουν αποθηκευτεί. Σε ρωτά για κάθε
ενταμιευτή κατά πόσον να αποθηκευτούν οι αλλαγές του στο αρχείο.
>> Εισήγαγε μια γραμμή κειμένου και πληκτρολόγησε C-x s.
Θα σε ρωτήσει κατά πόσον θες να αποθηκεύσεις τον ενταμιευτή με
όνομα TUTORIAL.el_GR. Απάντα καταφατικά με το «y» (yes).
* ΕΠΕΚΤΕΙΝΟΝΤΑΣ ΤΟ ΣΥΝΟΛΟ ΕΝΤΟΛΩΝ
---------------------------------
Υπάρχουν πάρα πολλές εντολές του Emacs που δεν μπορούν να χωρέσουν σε
όλους τους control και meta χαρακτήρες. Το Emacs ξεπερνά αυτό το
εμπόδιο με την εντολή επέκτασης (eXtend). Αυτή έχει δύο μορφές:
C-x Χαρακτήρος επέκταση. Ακολουθείται από τον χαρακτήρα.
M-x Ονόματος επέκταση. Ακολουθείται από όνομα.
Αυτές είναι εντολές που είναι χρήσιμες εν γένει αλλά χρησιμοποιούνται
σχετικά λιγότερο από αυτές που έμαθες έως τώρα. Έχεις ήδη δει εντολές
επέκτασης, όπως το C-x C-f και το C-x C-s. Άλλο παράδειγμα είναι η
εντολή που κλείνει το Emacs--αυτή είναι C-x C-c. (Μην ανησυχείς για
απώλεια αλλαγών που έκανες· το C-x C-c ρωτά να αποθηκεύσει αλλαγές σε
κάθε αρχείο πριν τερματίσει το Emacs.)
Εάν χρησιμοποιείς γραφική προβολή, δεν χρειάζεσαι κάποια ειδική εντολή
για να μεταβείς από το Emacs σε κάποια άλλη εφαρμογή. Μπορείς να το
κάνεις με το ποντίκι ή τις εντολές του διαχειριστή παραθύρων. Αν όμως
χρησιμοποιείς ακροδέκτη κειμένου ο οποίος προβάλει μόνο μία εφαρμογή,
τότε πρέπει να «αναστείλεις» το Emacs για να επιλέξεις οποιαδήποτε
άλλη εφαρμογή.
C-z είναι η εντολή της *προσωρινής* εξόδου από το Emacs--μπορείς να
επιστρέψεις στην ίδια συνεδρία υστερότερα. Όταν το Emacs λειτουργεί
εντός ακροδέκτη κειμένου, το C-z «αναστέλλει» το Emacs· δηλαδή
επιστρέφει στο περίβλημα (shell) χωρίς να καταστρέψει την εργασία του
Emacs. Στα πλείστα περιβλήματα, μπορείς να επαναφέρεις το Emacs με
την εντολή «fg» ή την «%emacs».
Χρησιμοποιείς το C-x C-c όταν θες να αποσυνδεθείς πλήρως. Είναι η
σωστή πράξη για έξοδο από το Emacs, παράδειγμα για περιπτώσεις ταχείας
επεξεργασίας κειμένου όπως στην διαχείριση ηλεκτρονικού ταχυδρομείου.
Υπάρχουν πολλές εντολές του τύπου C-x. Παραθέτουμε αυτές που έμαθες:
C-x C-f Εξεύρεση αρχείου
C-x C-s Αποθήκευση ενταμιευτή σε αρχείο
C-x s Αποθήκευση μερικών ενταμιευτών στα αρχεία τους
C-x C-b Παράθεση ενταμιευτών
C-x b Μετάβαση σε ενταμιευτή
C-x C-c Έξοδος από το Emacs
C-x 1 Διαγραφή όλων πλην ενός παραθύρου
C-x u Αναίρεση
Επώνυμες εκτεταμένες εντολές είναι αυτές που χρησιμοποιούνται με
λιγότερη συχνότητα, ή εντολές που χρησιμοποιούνται μόνο σε
συγκεκριμένες λειτουργίες. Ως παράδειγμα έχουμε την εντολή
replace-string, η οποία αντικαθιστά μια σειρά (αλληλουχία) χαρακτήρων
με μια άλλη εντός του ενταμιευτή. Όταν πληκτρολογείς M-x, το Emacs
σε προτρέπει στο κάτω μέρος της οθόνης για το όνομα της εντολής·
«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 διακρίνει πως πληκτρολογείς τους χαρακτήρες μιας
μακροσκελούς εντολής με σχετικά αργό ρυθμό, θα σου τους δείξει στο
κάτω μέρος της οθόνης σε αυτό που ονομάζεται «τόπος αντήχησης». Ο
τόπος αντήχησης περιλαμβάνει την τελευταία γραμμή της οθόνης.
* ΓΡΑΜΜΗ ΚΑΤΑΣΤΑΣΗΣ
-------------------
Η γραμμή ακριβώς πάνω από τον τόπο αντήχησης ονομάζεται «γραμμή
κατάστασης». Αυτή αναφέρει πληροφορίες όπως:
-:**- TUTORIAL.el_GR 63% L800 (Fundamental)
Αυτή η γραμμή έχει χρήσιμες πληροφορίες για την κατάσταση του Emacs
και του κειμένου που επεξεργάζεσαι.
Ήδη γνωρίζεις τι σημαίνει το πεδίο ονόματος του αρχείου--αναφέρει το
αρχείο που έχεις επισκεφθεί. Το ΝΝ% δείχνει την τρέχουσα θέση σου
στον ενταμιευτή του κειμένου: σημαίνει πως ΝΝ επί τις εκατό του
ενταμιευτή βρίσκεται πέρα από το πάνω μέρος της οθόνης. Εάν το πάνω
μέρος περιέχει όλο το προηγούμενο κείμενο, τότε θα γράφει «Top» αντί
για «0%». Αν είναι στο κάτω μέρος του ενταμιευτή, τότε θα αναγράφει
«Bot». Αν ο ενταμιευτής είναι μικρός ώστε όλο το περιεχόμενο του να
χωράει στην οθόνη, τότε η γραμμή κατάστασης θα γράφει «All».
Το L και τα ψηφία δείχνουν την θέση με άλλο τρόπο: τον αριθμό της
γραμμής όπου βρίσκεται το σημείο.
Οι αστερίσκοι κοντά στην αρχή δείχνουν πως έχουν υπάρξει τροποποιήσεις
στο κείμενο. Μόλις επισκεφθείς ή αποθηκεύσεις ένα αρχείο, εκείνο το
τμήμα δεν δείχνει αστερίσκους παρά μόνο παύλες.
Το τμήμα της γραμμής κατάστασης εντός παρενθέσεων αναφέρει τις
λειτουργίες επεξεργασίας που ισχύουν. Η βασική λειτουργία ονομάζεται
Fundamental κι είναι αυτή που χρησιμοποιείς τώρα. Πρόκειται για
παράδειγμα «αξιωματικής λειτουργίας» (major mode).
Το Emacs έχει πολλές αξιωματικές λειτουργίες. Κάποιες αφορούν την
επεξεργασία κειμένου σε διάφορες γλώσσες προγραμματισμού ή για διάφορα
ήδη κειμένου, όπως Lisp mode, Text mode, κτλ. Μόνο μια αξιωματική
λειτουργία γίνεται να είναι σε ισχύ, και το όνομα της βρίσκεται στην
γραμμή κατάστασης όπου τώρα υπάρχει το «Fundamental».
Κάθε αξιωματική λειτουργία κάνει κάποιες εντολές να συμπεριφέρονται με
διαφορετικό τρόπο. Για παράδειγμα, υπάρχουν εντολές για την
δημιουργία σχολίων σε ένα πρόγραμμα, και καθώς κάθε γλώσσα έχει τις
δικές τις ιδέες για το τι συνιστά σχόλιο, η εκάστοτε αξιωματική
λειτουργία εισάγει σχόλια ιδιοτρόπως.
Κάθε αξιωματική λειτουργία φέρει το όνομα μιας εκτεταμένης εντολής,
που είναι ένας τρόπος να αλλάξεις σε αυτή. Για παράδειγμα, M-x
fundamental-mode είναι η εντολή που θέτει σε ισχύ το Fundamental mode.
Αν θα επεξεργάζεσαι κείμενο σε ανθρώπινη γλώσσα, όπως αυτό το αρχείο,
μάλλον θες να χρησιμοποιήσεις το Text mode.
>> Πληκτρολόγησε M-x text-mode <Return>.
Μην ανησυχείς, καθώς καμία από τις εντολές που έχεις μάθει δεν αλλάζει
με ουσιαστικό τρόπο. Ωστόσο θα διαπιστώσεις πως M-f και M-b τώρα
θεωρούν τα εισαγωγικά ως μέρος της λέξης. Πριν, στο Fundamental mode,
M-f και M-b διάβαζαν τα εισαγωγικά ως διαχωριστικά λέξεων.
Αξιωματικές λειτουργίες κάνουν τέτοιες εκλεπτυσμένες αλλαγές: οι
πλείστες εντολές «διεκπεραιώνουν το ίδιο έργο» σε κάθε αξιωματική
λειτουργία, αλλά ίσως το επιτυγχάνουν με ελαφρώς διαφορετικό τρόπο.
Για να μάθεις περισσότερα σχετικά με την τρέχουσα αξιωματική
λειτουργία, πληκτρολόγησε C-h m.
>> Μετακίνησε τον δείκτη στην γραμμή μετά από αυτήν.
>> Πληκτρολόγησε C-l C-l ώστε να έρθει αυτή η γραμμή στο πάνω μέρος
της οθόνης.
>> Πληκτρολόγησε C-h m για να διαβάσεις πως διαφέρει το Text mode από
το Fundamental mode.
>> Πληκτρολόγησε C-x 1 για να αφαιρέσεις την καταγραφή από την οθόνη.
Οι αξιωματικές λειτουργίες ονομάζονται έτσι διότι υπάρχουν και οι
ελάσσονες λειτουργίες (minor modes). Ελάσσονες λειτουργίες δεν
υποκαθιστούν τις αξιωματικές λειτουργίες, παρά μόνο επί μέρους πτυχές
τους. Κάθε ελάσσων λειτουργία μπορεί να ενεργοποιηθεί ή
απενεργοποιηθεί αυτοτελώς, ανεξάρτητα από άλλες ελάσσονες λειτουργίες
ή οποιονδήποτε συνδυασμό τους.
Μια ελάσσων λειτουργία που είναι πολύ χρήσιμη, ειδικά για την
επεξεργασία κειμένου ανθρώπινης γλώσσας, είναι η Auto Fill mode. Όταν
αυτή η λειτουργία ενεργοποιηθεί, το Emacs αυτόματα διαχωρίζει τις
γραμμές μεταξύ των λέξεων όταν αυτές γίνονται πολύ πλατιές.
Το Auto Fill mode ενεργοποιείται με M-x auto-fill-mode <Return>. Όταν
η λειτουργία είναι σε ισχύ, μπορεί να απενεργοποιηθεί πάλι με M-x
auto-fill-mode <Return>. Αν είναι απενεργοποιημένη, τότε η εντολή
αυτή την ενεργοποιεί, και το αντίστροφο. Λέμε πως η εντολή
«εναλλάσσει την λειτουργία».
>> Πληκτρολόγησε M-x auto-fill-mode <Return> τώρα. Κατόπιν
πληκτρολόγησε μια γραμμή με «ασδφ » πολλές φορές ως που να δεις ότι
διαιρείται σε δύο γραμμές. Πρέπει να έχει κενά μεταξύ των
χαρακτήρων, διότι μόνο με βάση αυτά λειτουργεί το Auto Fill (δεν
κόβει λέξεις).
Το μήκος συνήθως ορίζεται στους 70 χαρακτήρες, αλλά μπορείς να το
αλλάξεις με την εντολή C-x f. Όρισε τον αριθμό που επιθυμείς ως
αριθμητική παράμετρο.
>> Πληκτρολόγησε C-x f με παράμετρο το 20. (C-u 2 0 C-x f). Κατόπιν
πληκτρολόγησε τυχαίο κείμενο με κενά και πρόσεξε πως το Emacs
συμπληρώνει τις γραμμές έως τους 20 χαρακτήρες. Μετά θέσε πάλι το
μήκος τους 70 χαρακτήρες χρησιμοποιώντας C-x f με αριθμητική
παράμετρο.
Αν κάνεις αλλαγές στην μέση της παραγράφου, το Auto Fill mode δεν
επανασυμπληρώνει για χάρη σου.
Για να επανασυμπληρώσεις μια παράγραφο χειροκίνητα, πληκτρολόγησε M-q
(META-q) με τον δείκτη εντός της παραγράφου εκείνης.
>> Μετακίνησε τον δείκτη στην προηγούμενη παράγραφο και πληκτρολόγησε
M-q.
* ΑΝΑΖΗΤΗΣΗ
-----------
Το Emacs μπορεί να αναζητήσει σειρές (σειρά (string) είναι αλληλουχία
χαρακτήρων) είτε προς τα εμπρός είτε ανάποδα. Αναζήτηση σειράς
συνιστά κίνηση του δείκτη· μετακινεί τον δείκτη όπου εμφανίζεται η
σειρά.
Η εντολή αναζήτησης του Emacs είναι «τμηματική». Αυτό σημαίνει πως η
αναζήτηση γίνεται ενόσω δακτυλογραφείς τους χαρακτήρες της σειράς που
αναζητείς.
Η εντολή προς εκκίνηση αναζήτησης είναι C-s για κίνηση προς τα εμπρός
και C-r και κίνηση όπισθεν. ΑΛΛΑ ΠΕΡΙΜΕΝΕ! Μην τις δοκιμάσεις ακόμα.
Όταν πληκτρολογείς C-s θα δεις πως η σειρά «I-search» εμφανίζεται ως
προτροπή στον τόπο αντήχησης. Αυτό σου λέει πως το Emacs βρίσκεται σε
αυτό που ονομάζεται «τμηματική αναζήτηση» και περιμένει να
πληκτρολογήσεις αυτό το οποίο ψάχνεις. <Return> ολοκληρώνει την
αναζήτηση.
>> Τώρα πληκτρολόγησε C-s για να αρχίσεις την αναζήτηση. ΑΡΓΑ, ένα
γράμμα τη φορά, γράψε «δείκτη», κάνοντας παύση αφού εισάγεις τον
κάθε χαρακτήρα για να δεις τι συμβαίνει με τον δείκτη.
Τώρα έχεις αναζητήσει για «δείκτη» μία φορά.
>> Πάτα πάλι C-s για να ψάξεις την επόμενη εμφάνιση του «δείκτη».
>> Τώρα πληκτρολόγησε <DEL> τέσσερις φορές και δες πως κινείται ο
δείκτης.
>> Πληκτρολόγησε <Return> για να τερματίσεις την αναζήτηση.
Είδες τι έγινε; Το Emacs, σε τμηματική αναζήτηση, προσπαθεί να
εντοπίσει την επόμενη εμφάνιση της σειράς χαρακτήρων που έγραψες. Για
να μεταφερθείς στην επόμενη εμφάνιση, πάτα C-s ξανά. Εάν δεν υπάρχει
άλλη, το Emacs θα σηματοδοτήσει «αποτυχία» (failing). Το C-g μπορεί
να τερματίσει την αναζήτηση.
Κατά την διάρκεια μιας τμηματικής αναζήτησης εάν πατήσεις <DEL>, η
αναζήτηση «υποχωρεί» σε πρότερο σημείο. Αν πατήσεις <DEL> αμέσως
αφότου έχεις πληκτρολογήσει C-s για μετακίνηση στην επόμενη εμφάνιση
μιας σειράς χαρακτήρων, θα μεταβείς πίσω στην προηγούμενη εμφάνιση.
Εάν δεν υπάρχει προηγούμενη εμφάνιση, το <DEL> διαγράφει τον τελευταίο
χαρακτήρα στην σειρά. Για παράδειγμα, φαντάσου πως έγραψες «δ» για να
βρεις την πρώτη εμφάνιση του. Τώρα αν προσθέσεις το «ε» θα πας στην
πρώτη εμφάνιση του «δε». Τώρα πάτα <DEL>. Διαγράφει το «ε» από την
σειρά και μετακινεί τον δείκτη πίσω στην πρώτη εμφάνιση του «δ».
Αν είσαι στο μέσον μιας αναζήτησης και πληκτρολογήσεις ένα χαρακτήρα
control ή meta (με κάποιες εξαιρέσεις--όπως C-s και C-r που έχουν
ειδική σημασία στην αναζήτηση), η αναζήτηση θα τερματιστεί.
Το C-s ξεκινά αναζήτηση που ψάχνει για κάθε εμφάνιση της αναζητούμενης
σειράς ΑΠΟ την τρέχουσα θέση του δείκτη. Εάν θες να βρεις
προηγούμενες εμφανίσεις, χρησιμοποίησε το C-r. Όσα είπαμε για το C-s
ισχύουν για το C-r, με μόνη διαφορά την κατεύθυνση της αναζήτησης.
* ΠΟΛΛΑΠΛΑ ΠΑΡΑΘΥΡΑ
-------------------
Ένα από τα καλά του Emacs είναι πως μπορείς να παρουσιάσεις πέραν του
ενός παραθύρου στην οθόνη. (Σημείωσε πως το Emacs χρησιμοποιεί τον
όρο «πλαίσιο» (frame)--επεξηγείται στην επόμενη ενότητα--για αυτό που
ορισμένες εφαρμογές αποκαλούν «παράθυρο» (window). Το εγχειρίδιο του
Emacs περιέχει γλωσσάριο με όλους τους όρους.)
>> Φέρε τον δείκτη σε αυτή την γραμμή και πληκτρολόγησε C-l C-l.
>> Τώρα πάτα C-x 2, που μοιράζει την οθόνη σε δύο παράθυρα.
Και τα δύο παράθυρα παρουσιάζουν αυτή την εκμάθηση. Ο δείκτης
επεξεργασίας παραμένει στο πάνω παράθυρο.
>> Πληκτρολόγησε C-M-v για να κυλήσεις το κάτω παράθυρο. (Εάν δεν
έχεις META ή ALT πλήκτρο, τότε πληκτρολόγησε <ESC> C-v.)
>> Πληκτρολόγησε C-x o («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 (ή ALT), και χρησιμοποιείς το <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 μπορεί επίσης να δημιουργήσει πολλά «πλαίσια». Πλαίσιο
ονομάζουμε αυτό που περιέχει ένα ή περισσότερα παράθυρα, μαζί με τα
μενού, μπάρες κύλισης, τόπο αντήχησης, κτλ. Σε γραφικές προβολές,
αυτό που το 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 προσφέρει εντολές για την εξεύρεση κι
ανάγνωση οδηγιών. Αυτές οι εντολές «βοήθειας» (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 εκτελεί την εντολή previous-line
Αυτό σου λέει το «όνομα της συνάρτησης». Καθώς οι συναρτήσεις έχουν
ονόματα που φανερώνουν την λειτουργία τους, μπορούν να ερμηνευθούν κι
ως πολύ σύντομες περιγραφές--επαρκείς για να σου υπενθυμίσουν κάτι που
ήδη έχεις μάθει.
Εντολές με πολλούς χαρακτήρες, όπως C-x C-s ή <ESC>v (αντί του M-v για
όσους δεν έχουν πλήκτρο META ή ALT) μπορούν κι αυτές να δοθούν μετά το
C-h c.
Για περισσότερες πληροφορίες αναφορικά με μια εντολή, χρησιμοποίησε το
C-h k αντί του C-h c.
>> Πληκτρολόγησε 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. Πρέπει να γράψεις το όνομα της
μεταβλητής στην σχετική προτροπή.
C-h a Συναφή εντολών (command apropos). Γράψε μια
λέξη-κλειδί και το Emacs θα παραθέσει όλες τις εντολές
των οποίων το όνομα περιέχει αυτήν την λέξη. Όλες
αυτές οι εντολές μπορούν να κληθούν με το META-x. Για
ορισμένες εντολές, τα συναφή εντολών περιέχουν και την
σχετική αλληλουχία χαρακτήρων που εκτελεί την εντολή.
>> Πληκτρολόγησε C-h a file <Return>.
Αυτό παραθέτει σε έτερο παράθυρο όλες τις εντολές M-x που περιέχουν
τον όρο «file» στο όνομα τους. Θα δεις εντολές χαρακτήρος μεταξύ των
επονομαζομένων (όπως C-x C-f πέριξ του find-file).
>> Πληκτρολόγησε C-M-v για να κυλήσεις το παράθυρο βοηθείας. Κάνε το
μερικές φορές.
>> Πληκτρολόγησε C-x 1 για να κλείσεις το παράθυρο βοηθείας.
C-h i Διάβασε τα εγχειρίδια (Info manuals). Αυτή η εντολή
σε βάζει σε ειδικό ενταμιευτή που ονομάζεται «*info*»
όπου μπορείς να διαβάσεις εγχειρίδια για τις
συσκευασίες που είναι εγκατεστημένες στο σύστημα σου.
Πληκτρολόγησε m emacs <Return> για να διαβάσεις το
εγχειρίδιο του Emacs. Αν δεν έχεις χρησιμοποιήσει το
Info ποτέ, πληκτρολόγησε h και το Emacs θα σου δείξει
τις σχετικές λειτουργίες. Αφού ολοκληρώσεις αυτή την
εκμάθηση, να αναφέρεσε στο εγχειρίδιο του Emacs ως την
κύρια πηγή όλων των καταγραφών.
* ΑΛΛΕΣ ΛΕΙΤΟΥΡΓΙΕΣ
-------------------
Μπορείς να μάθεις περισσότερα για το Emacs διαβάζοντας το εγχειρίδιο
του, είτε ως έντυπο βιβλίο, είτε εντός του Emacs (χρησιμοποίησε τον
κατάλογο βοηθείας ή πληκτρολόγησε C-h r). Δύο λειτουργίες που ίσως να
σου φανούν χρήσιμες είναι η «ολοκλήρωση», που εξοικονομεί στην
δακτυλογράφηση, και το Dired, που απλοποιεί την διαχείριση αρχείων.
Η ολοκλήρωση είναι τρόπος αποφυγής αχρείαστης πληκτρολόγησης. Για
παράδειγμα, αν θες να μεταβείς στον ενταμιευτή *Messages*,
πληκτρολογείς C-x b *M<Tab> και το Emacs θα συμπληρώσει το υπόλοιπο
του ονόματος ως εκεί που μπορεί να κρίνει αντιστοιχία με αυτό που
έχεις ήδη γράψει. Η ολοκλήρωση δουλεύει επίσης για ονόματα εντολών κι
αρχείων. Στο εγχειρίδιο καταγράφεται στην ενότητα «Completion».
Το Dired σου επιτρέπει να παραθέτεις κατάλογο αρχείων (και προαιρετικά
υποκαταλόγους), να επιλέγεις, επισκέπτεσαι, μετονομάζεις, διαγράφεις,
ή γενικά να επιδράς πάνω σε αρχεία. Το Dired καταγράφεται στο
εγχειρίδιο στην ενότητα «Dired».
Το εγχειρίδιο καταγράφει πολλές άλλες λειτουργίες του Emacs.
* ΕΓΚΑΤΑΣΤΑΣΗ ΣΥΣΚΕΥΑΣΙΩΝ
-------------------------
Υπάρχει πλούσιος όγκος συσκευασιών (packages) του Emacs που έχουν
παρασκευαστεί από την κοινότητα των χρηστών του, που επεκτείνουν τις
δυνατότητες του Emacs. Αυτές οι συσκευασίες περιλαμβάνουν υποστήριξη
για νέες γλώσσες, πρόσθετα θέματα χρωμάτων, προεκτάσεις για εξωτερικές
εφαρμογές, και άλλα πολλά.
Για παράθεση των διαθέσιμων συσκευασιών, πληκτρολόγησε M-x
list-packages. Στη σχετική λίστα, μπορείς να εγκαταστήσεις ή
απεγκαταστήσεις συσκευασίες, καθώς και να διαβάσεις τις περιγραφές
τους. Για περισσότερες πληροφορίες περί διαχείρισης συσκευασιών, δες
το εγχειρίδιο του Emacs.
* ΚΑΤΑΛΗΚΤΙΚΑ
-------------
Για έξοδο από το Emacs, χρησιμοποίησε C-x C-c.
Αυτή η εκμάθηση γράφτηκε για να είναι κατανοητή σε όλους τους νέους
χρήστες. Αν λοιπόν κάτι παραμένει ασαφές, μην κάτσεις εκεί να
κατηγορείς τον εαυτό σου - πες μας για το πρόβλημα σου!
* ΑΝΤΙΓΡΑΦΗ
-----------
Αυτό το κείμενο εκμάθησης είναι συνέχεια μιας μακράς γραμμής κειμένων
εκμάθησης του Emacs, αρχής γενομένης αυτού του Stuart Cracraft για το
αρχικό Emacs.
Αυτή η έκδοση της εκμάθησης είναι μέρος του GNU Emacs. Έχει
πνευματικά δικαιώματα και δίνεται με την άδεια διανομής αντιγράφων υπό
κάποιους όρους.
Πνευματικά Δικαιώματα (C) 1985, 1996, 1998, 2001-2024 Free Software
Foundation, Inc.
Αυτό το αρχείο είναι μέρος του GNU Emacs.
Το GNU Emacs είναι ελεύθερο λογισμικό: μπορείτε να το αναδιανέμετε
ή/και να το τροποποιήσετε σύμφωνα με τους όρους της GNU Γενική
Δημόσια Άδεια (GNU General Public License) όπως δημοσιεύθηκε από το
Ίδρυμα Ελεύθερου Λογισμικού (Free Software Foundation), είτε την
έκδοση 3 της άδειας, είτε (κατά την επιλογή σας) οποιαδήποτε
μεταγενέστερη έκδοση.
Το GNU Emacs διανέμεται με την ελπίδα πως θα είναι χρήσιμο, αλλά
ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ· χωρίς καν την συνεπαγόμενη εγγύηση της
ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. Δείτε την
GNU Γενική Δημόσια Άδεια (GNU General Public License) για
περισσότερες λεπτομέρειες.
Οφείλατε να λάβετε αντίγραφο της GNU Γενικής Δημόσιας Άδειας (GNU
General Public License) μαζί με το GNU Emacs. Εάν όχι, δείτε
<https://www.gnu.org/licenses/>.
Παρακαλώ όπως διαβάσετε το αρχείο COPYING και δώσετε αντίγραφα του GNU
Emacs στους φίλους σας. Βοηθήστε στην καταπολέμηση του περιορισμού
(«ιδιοκτησία») του λογισμικού δια της χρήσης, γραφής, και κοινοποίησης
ελεύθερου λογισμικού!
|