1268 lines
93 KiB
Plaintext
1268 lines
93 KiB
Plaintext
Εκμάθηση του 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 στους φίλους σας. Βοηθήστε στην καταπολέμηση του περιορισμού
|
||
(«ιδιοκτησία») του λογισμικού δια της χρήσης, γραφής, και κοινοποίησης
|
||
ελεύθερου λογισμικού!
|