Οι βασικές λειτουργίες του VI: Εισαγωγή
Description: This is issue 22 of Magaz, the Hellenic LinuxMagazine
Keywords: magaz hellenic greek hellas greece hellug linux magazine

Magaz, The Greek Linux Magazine
Τεύχος #22
Περιληπτικά Περιεχόμενα Αναλυτικά Περιεχόμενα Mirrors Links Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Προηγούμενο Περιεχόμενα ### 2. Εισαγωγή Καταστάσεις Λειτουργίας, Εντολές Ο `VI`(sual editor) έχει δύο βασικές καταστάσεις λειτουργίας: κατάσταση εντολών (command mode) κατάσταση εισαγωγής κειμένου (text entry mode) Κατά τη κατάσταση εντολών οτιδήποτε πληκτρολογείτε μεταφράζεται ως εντολή. Φροντίστε να είστε προσεκτικοί γιατί δε φαίνονται οι εντολές που δίνετε, βλέπετε μόνο τα αποτελέσματά τους. Εξαίρεση αποτελούν οι εντολές που αρχίζουν από ":" (άνω κάτω τελεία) οι οποίες εμφανίζονται στο κάτω μέρος της οθόνης και εκτελούνται αφού πατήσετε `<CR>` (enter). Σε κατάσταση εισαγωγής κειμένου -σχεδόν- ο,τιδήποτε πληκτρολογείτε εισάγεται στο κείμενο. Εισαγωγή - Διαγραφή Πατώντας `<ESC>` ή `^[` (control-[) μπορείτε να είστε σίγουροι πως ο `VI` είναι σε κατάσταση εντολών. Βασικοί τρόποι για να περάσετε σε κατάσταση εισαγωγής κειμένου είναι: πατώντας `i` (insert - εισαγωγή κειμένου στη θέση του δρομέα), `a` (append - εισαγωγή κειμένου στην πρώτη θέση στα δεξιά του δρομέα) ή `o` (open(?) - εισαγωγή κειμένου σε νέα γραμμή κάτω από την ενεργή). Χρησιμοποιήστε το `x` για να διαγράψετε το χαρακτήρα στη θέση του δρομέα. Μετακίνηση Για να κινηθείτε μέσα στο κείμενο, αφού βεβαιωθείτε πως είστε σε κατάσταση εντολών, χρησιμοποιήστε τα `h j k l` για αριστερά, κάτω, πάνω και δεξιά. Εναλλακτικά μπορείτε να χρησιμοποιήσετε τα βελάκια, κάτι που δε συνίσταται για λόγους ταχύτητας. Χειρισμός Αρχείων, Εξοδος Οσο επεξεργάζεστε ένα αρχείο στον `VI`, ουσιαστικά δουλεύετε σε ένα αντίγραφο του αρχείου σε μία προσωρινή μνήμη (buffer). Οι αλλαγές που κάνετε στην προσωρινή μνήμη δεν αποθηκεύονται μέχρι τη στιγμή που θα δώσετε την εντολή `:w<CR>` (από το write). Εάν το αρχείο είναι read only μπορείτε να γράψετε μόνο με `:w!<CR>`, με την προυπόθεση φυσικά πως έχετε δικαίωμα εγγραφής στο αρχείο (write permission). Γράφοντας `:e filename<CR>` μπορείτε να ανοίξετε ένα νέο αρχείο για επεξεργ ασία, ενώ τερματίζετε τον `VI` με `:q<CR>`. Εφόσον δεν έχετε αποθηκεύσει τις αλλαγές που κάνατε ο `VI` θα διαμαρτυρηθεί και δε θα εκτελέσει την εντολή σας, σε αυτή την περίπτωση χρησιμοποιήστε `:e! filename<CR>` και `:q!<CR>` αντίστοιχα. Αντιγραφή, Διαγραφή, Επικόλληση Οι εντολές `c[E]`, `y[E]` και `d[E]` (change-αλλαγή, yank-copy-αντιγραφή σε προσωρινή μνήμη, delete-διαγραφή και αντιγραφή στην προσωρινή μνήμη), επιδρούν σε περιοχή κειμένου που προσδιορίζεται από το επίθεμά `[E]` πχ. `yw` (yank word to buffer). Η επανάληψη (`cc`, `yy`, `dd)` υποδηλώνει την επίδρασή τους στην τρέχουσα γραμμή πχ. το `yy` αντιγράφει το περιεχόμενο της τρέχουσας γραμμής στην προσωρινή μνήμη (yank line to buffer). Επικόλληση κειμένου από την προσωρινή μνήμη γίνεται μ ε το `p`. Η Λογική Των Εντολών Οι περισσότερες εντολές του `VI` μπορούν να δεχτούν ένα αριθμητικό πρόθεμα, με το οποίο δηλώνουμε πόσες φορές επιθυμούμε την εκτέλεση τους. Ετσι λοιπόν εκεί που το `dd` θα έσβηνε την τρέχουσα γραμμή το `3dd` σβήνει 3 γραμμές. Ακολουθούν κάποια παραδείγματα. Είναι επιθυμητό ο αναγνώστης να εξοικειωθεί με όσα αναφέρθηκαν μέχρι στιγμής δεδομένου ότι οι εντολές των επόμενων κεφαλαίων ενδέχεται να προκαλέσουν σύγχιση. Παραδείγματα `14l` μεταφορά του δρομέα 14 θέσεις προς τα δεξιά `10j` μεταφορά του δρομέα 10 σειρές προς τα κάτω `10x` διαγραφή 10 χαρακτήρων, ξεκινώντας από το δρομέα προς τα δεξιά `cwtext` αλλαγή λέξης με το text `3cctext` αλλαγή τριών γραμμών με το text `7yw` αντιγραφή 7 λέξεων στην προσωρινή μνήμη `3yy` αντιγραφή 3 γραμμών στην προσωρινή μνήμη `5dw` διαγραφή 5 λέξεων (και αντιγραφή στην προσωρινή μνήμη) `2dd` διαγραφή 2 γραμμών (και αντιγραφή στην προσωρινή μνήμη) Επόμενο Προηγούμενο Περιεχόμενα