I am translating the Emacs TUTORIAL into Greek
UPDATE 2022-05-20 09:35 +0300. Changed the Greek word for “buffer”
from “αποσβεστήρας” to “ενταμιευτής”. Thanks to Basil L. Contovounesios
and Romanos Skiadas for the feedback in Emacs
bug#55332. For
future updates to the TUTORIAL.el_GR
file, check the emacs.git source.
UPDATE 2022-05-08 19:07 +0300. My contribution is now part of
Emacs. See the Annex below for a verbatim copy of TUTORIAL.el_GR
.
I am in the process of translating the Emacs TUTORIAL
into Greek.
This is the document every newcomer is supposed to study and which can
be accessed at any moment with C-h t
(M-x help-with-tutorial
). I am
about 75% done as of this writing and will prepare a patch either
tomorrow or on Monday (it is a long document and needs attention to
detail).
Below I provide a table with select technical terms and their translations. I understand that certain words, such as “buffer”, have a peculiar meaning in computer science that slightly differs from, say, phrases like “the buffer zone” or “a buffer state”. I have tried to capture the meaning of such concepts, based on my ~3-year experience with Emacs though I must stress that I am not a computer scientist and have no background in any of the related disciplines.
Furthermore, there is at least one case with the word “kill” (“kill
ring”, etc.) where I have intentionally not translated it literally. I
am instead using the Greek equivalent of “extinguish” as it is
conceptually more accurate than what would otherwise denote “murder”,
“homicide”, and related. The word I use can be understood as “remove”,
which is closer to what killing in Emacs—as opposed to deleting—is
about (well, “kill” is an awkward term even in English, but I won’t
argue against the mnemonics and convenience of C-k
, C-M-k
, …).
As such, I would appreciate if anyone with the requisite knowledge and command of Greek could double-check this table and tell me what they think about my choice of words (contact me).
[ I am not covering every possible inclination of those words. You get the idea! ]
cursor | δείκτης (κέρσορας) |
point | σημείο |
region | περιοχή |
window | παράθυρο |
frame | πλαίσιο |
argument | παράμετρος |
numeric argument | αριθμητική παράμετρος |
[universal] prefix argument | [καθολική] προθεματική παράμετρος |
repeat count | μετρητής επανάληψης |
undo | αναίρεση |
delete | διαγραφή |
kill | εξαφάνιση |
kill ring | δακτύλιος εξαφανίσεων |
undo ring | δακτύλιος αναιρέσεων |
graphical display | γραφική προβολή |
text terminal | ακροδέκτης (τερματικό) κειμένου |
graphics terminal | ακροδέκτης (τερματικό) γραφικών |
buffer | ενταμιευτής |
find [file] | εξεύρεση [αρχείου] |
visit [file] | επίσκεψη [αρχείου] |
list buffers | παράθεσε ενταμιευτές |
switch to buffer | μετάβαση σε ενταμιευτή |
text scrolling | κύληση κειμένου |
scroll bar | μπάρα κύλησης |
menu bar | μπάρα καταλόγου (μενού) |
tool bar | μπάρα εργαλείων |
character extend (C-x) | χαρακτήρος επέκταση |
named extend (M-x) | ονόματος επέκταση |
extended command | εκτεταμένη εντολή |
named extended command | επώνυμη εκτεταμένη εντολή |
command prompt | προτροπή εντολής |
suspend | αναστολή |
quit Emacs | τερματισμός του Emacs |
echo area | τόπος αντήχησης |
minibuffer | μικροενταμιευτής |
mode line | γραμμή κατάστασης |
major mode | αξιωματική λειτουργία |
minor mode | ελάσσων λειτουργία |
global [e.g. minor mode] | οικουμενική [π.χ. ελάσσων λειτουργία] |
local [e.g. value] | τοπική [π.χ. αξία] |
margin | περιθώριο |
fringe | παρυφή |
incremental [e.g. search] | τμηματική [π.χ. αναζήτηση] |
other window | έτερο παράθυρο |
selected window | επιλεγμένο παράθυρο |
current window | τρέχον παράθυρο |
list packages | παράθεσε συσκευασίες (πακέτα) |
install package | εγκατάστησε συσκευασία (πακέτο) |
update package | επικαιροποίησε συσκευασία (πακέτο) |
refresh package archives | ανανέωσε αρχεία συσκευασιών (πακέτων) |
file directory | κατάλογος αρχείων |
subdirectory | υποκατάλογος |
manual (i.e. handbook, vade mecum) | εγχειρίδιο |
manual (as in “manually”) | χειροκίνητα |
documentation | καταγραφή, οδηγίες |
to document | καταγράφω, τεκμηριώνω |
fill text | συμπλήρωση κειμένου |
recursive editing levels | επίπεδα αναδρομικής επεξεργασίας |
completion | ολοκλήρωση |
apropos | συναφή |
function | συνάρτηση |
command | εντολή |
symbol | σύμβολο |
variable | μεταβλητή |
Trivia
The Greek locale is referred to as el
(or el_GR
). Translations of
the TUTORIAL
must be named TUTORIAL.locale
but writing TUTORIAL.el
has the adverse effect of treating it as an Elisp file. I can do M-x
fundamental-mode
or use a local variable, but it is a nuisance. As
such, I am naming it TUTORIAL.el_GR
even though I think the _GR
part
is superfluous: there is only one written version of modern Greek (which
encompsasses all intelligible variations of the language from the
ancient times to modernity).
The language spoken in Cyprus has marginal differences in idioms or accent, but is the same language nonetheless—especially as taught in school or used in an official capacity. In terms of dialect, some Cypriot Greek words, concepts, expressions come directly from Ancient Greek, whereas in Greece they may have changed through the Middle Ages and/or, in contemporary times, by successive governments. Still, Greece has many regional dialects of its own (I grew up speaking one of them) which have no effect on the integrity of the locale.
I believe that for Cypriot Greek to qualify as a meaningful locale, it would need to have its own glyphs to better capture its pronunciation (and I am all for that). Especially for consonants whose equivalents are found in the extended Latin sets or in Cyrillic but not in the Greek alphabet. If anyone knows how we can extend Unicode code points or, anyhow, make things happen on this technical front, please let me know: I am interested to preserve and enrich the language and volunteer to do whatever it takes within my means (for Emacs and beyond).
Annex
This is TUTORIAL.el_GR
as of the latest update on 2022-05-20 09:38
+0300.
Εκμάθηση του 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-2022 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 στους φίλους σας. Βοηθήστε στην καταπολέμηση του περιορισμού
(«ιδιοκτησία») του λογισμικού δια της χρήσης, γραφής, και κοινοποίησης
ελεύθερου λογισμικού!