Magaz, The Greek Linux Magazine
Magaz Logo

Επόμενο  Προηγούμενο  Περιεχόμενα

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 γραμμών (και αντιγραφή στην προσωρινή μνήμη)

Επόμενο  Προηγούμενο  Περιεχόμενα


Valid HTML 4.01!   Valid CSS!