Κεφάλαιο 16: Ο κειμενογράφος Vi Ο vi(1) είναι ο κατεξοχήν κειμενογράφος όπου μπορείτε να βρείτε στα συστήματα Unix, και χωρίς να είναι πλέον τόσο σημαντικός όσο κάποτε ήταν, αξίζε ι να πουμε μερικά λόγια γι'αυτόν μιας και μπορεί να τον χρησιμοποιείτε σε καθημερινή βάση. Υπάρχουν διάφορες κυκλοφορίες (κλώνοι στην ουσία) του vi όπως οι vi, elvis, vile και vim. Ένας από αυτούς είναι διαθέσιμος για κάθε έκδοση Unix και Linux. Όλοι οι άλλοι κάνουν χρήση των βασικών χαρακτηριστικών εντολών, πράγμα που σημαίνει ότι εάν μάθετε να χρησιμοποιείτε έναν κλώνο τότε είναι αρκετά εύκολο να μάθετε να χρησιμοποιείτε και έναν άλλον. Με τη μεγάλη ποικιλία κειμενογράφων η οποία υπάρχει στις διάφορες διανομές Linux και Unix, είναι πολλοί αυτοί οι οποίοι έχουν πάψει να χρησιμοποιούν τον vi. Ακόμη όμως παραμένει ένας από τους πιο γνωστούς και ευρέως διαδεδομένους κειμενογράφους για Unix συστήματα. Θα πρέπει να έχετε στα υπόψιν σας ότι δεν γίνεται να χρησιμοποιείτε κάποιο σύστημα Unix και να μην ξέρετε να χρησιμοποιείτε έναν από τους βασικούς κειμενογράφους που σας προσφέρει. O vi περιλαμβάνει έναν μεγάλο αριθμό χαρακτηριστικών όπως έμφαση συντακτικού (syntax highlighting), διαμόρφωση προγραμματιστικού κώδικα (code formatting), ισχυρό σύστημα εύρεσης και αλλαγής, μακροεντολές και πολλά ακόμη. Αυτά τα χαρακτηριστικά είναι που κάνουν τον vi αγαπητό σε πολλούς προγραμματιστές και διαχειριστές συστημάτων. Στο Slackware, οι προεπιλεγμένη έκδοση του vi είναι ο elvis. Άλλες εκδόσεις, συμπεριλαμβανομένων των vim και gvim, είναι διαθέσιμες εάν επιλέξετε τα αντίστοιχα πακέτα για εγκατάσταση. Ο gvim είναι μια έκδοση του vim για X Window η οποία περιλαμβάνει μπάρες εργαλείων, αποσπόμενα μενού και παράθυρα διαλόγου. 16.1 Ξεκινώντας τον vi Μπορείτε να ξεκινήσετε τον vi από την γραμμή εντολών με διάφορους τρόπους. Ο πιο απλός είναι: % vi Σχήμα 16-1. Ο vi σε λειτουργία
Η εντολή αυτή θα ξεκινήσει τον vi. Σε αυτό το σημεία θα δείτε μία μαύρη οθόνη. Αυτό σημαίνει ότι βρίσκεται στο σημείο όπου το πρόγραμμα περιμένει από εσάς να κάνετε κάτι (το λεγόμενο command mode ). Περισσότερα σχετικά με τις διάφορες συνθήκες του vi μπορείτε να δείτε στην ενότητα 16.2. Εάν θέλετε να κλείστε τον vi, τότε πληκτρολογείτε: :q Εάν υποθέσουμε ότι δεν έχετε κάνει καμία αλλαγή στο αρχείο, τότε αυτή η εντολή θα τερματίσει τη λειτουργία του vi. Εάν όμως έχετε κάνει αλλαγές, τότε θα σας ειδοποιήσει το πρόγραμμα και θα ερωτηθήτε για το αν θέλετε να σώσετε τις αλλαγές ή όχι. Εάν δε θέλετε να τις σώσετε τότε προσθέτετε ένα ερωτηματικό με το q : :q! Συνήθως το ερωτηματικό αναγκάζει, κατά κάποιο τρόπο, μία αλλαγή/πράξη να λάβει μέρος. Θα συζητήσουμε παρακάτω τους διάφορους συνδυασμούς πλήκτρων. Μπορείτε επίσης να εκκινήσετε τον vi ανοίγοντας κάποιο ήδη υπάρχον αρχείο. Για παράδειγμα, το αρχείο /etc/resolv.conf θα μπορούσε να ανοίξει με αυτόν τον τρόπο: % vi /etc/resolv.conf Τέλος, ο vi μπορεί επίσης να ανοίξει ένα συγκεκριμένο αρχείο και να μεταπηδήσει σε κάποια συγκεκριμένη γραμμή. Αυτό είναι χρήσιμο για προγραμματιστές όπου βλέπουν κάποιο μήνυμα λάθους για κάποια συγκεκριμένη γραμμή στον κώδικα τους. Για παράδειγμα, θα μπορούσατε να ανοίξετε το αρχεία /usr/src/linux/init/main.c στη γραμμή 47 με τον παρακάτω τρόπο: % vi +47 /usr/src/linux/init/main.c Ο vi θα ανοίξει το συγκεκριμένο αρχείο και θα μεταβεί αμέσως στη γραμμή 47. Εάν δηλώσετε κάποιον αριθμό γραμμής και αυτός ξεπερνάει το τέλος. 16.2 Καταστάσεις (Modes) O vi μπορεί να βρίσκεται σε διάφορες καταστάσεις οι οποίες χρησιμοποιούνται για διάφορες εργασίες. Όταν ξεκινάτε τον vi, βρίσκεστε σε ένα περιβάλλον εντολών. Από αυτό το σημεία, μπορείτε να δίνετε διάφορες εντολές για να επεξεργαστείτε το κείμενο, να μετακινηθείτε μέσα σε αυτό, να το σώσετε, να το κλείσετε, και να αλλάξετε στη κατάσταση στην οποία βρίσκεται ο vi. Η επεξεργασία του κειμένου γίνεται στη κατάσταση επεξεργασίας (editing mode). Μπορείτε να κινηθείτε γρήγορα μεταξύ των διάφορων καταστάσεων με διάφορες συνδυασμούς πλήκτρων οι οποίοι εξηγούνται παρακάτω. 16.2.1 Κατάσταση εντολών (Command Mode) Η αρχική κατάσταση του vi είναι αυτή τν εντολών. Από εκεί, δεν μπορείτε κατευθείαν να γράψετε κάτι ή να επεξεργαστείτε κάτι υπάρχον. Μπορείτε όμως να μετακινηθείτε μέσα στο κείμενο, να ψάξετε για κάτι, να το κλείσετε, να το σώσετε ή να ανοίξετε κάποιο νέο αρχείο, και πολλά ακόμη. Τα παρακάτω αποτελούν μόνο μια εισαγωγή στη κατάσταση εντολών. Για τη περιγραφή των διάφορων εντολών ρίξτε μια ματιά στην ενότητα 16.7.
Πιθανόν, η πιο χρησιμοποιημένη εντολή στη κατάσταση εντολών είναι αυτή όπου αλλάζει τη κατάσταση σε αυτή της εισαγωγής (insert mode). Αυτό μπορεί να γίνει απλά πατώντας το πλήκτρο i. Ο κέρσορας αλλάζει σχήμα, και στο κάτω μέρος της οθόνης εμφανίζεται η λέξη INSERT (θα πρέπει να ξέρετε όμως ότι αυτό δε συμβαίνει με όλους τους κλώνους του vi). Από αυτό το σημείο, οτιδήποτε πληκτρολογείτε εμφανίζεται στην οθόνη. Για να επιστρέψετε στη κατάσταση εντολών, πατήστε το πλήκτρο ESCAPE. Η κατάσταση εντολών είναι επίσης αυτή που σας επιτρέπει να μετακινήστε μέσα στο κείμενο. Σε μερικά συστήματα μπορείτε να χρησιμοποιείτε τα βελάκια. Σε κάποια άλλα όμως θα χρειαστεί να κάνετε χρήση των παραδοσιακών πλήκτρων hjkl. Εδώ παραθέτουμε τη βασική λίστα με τα πλήκτρα που σας βοηθούν στη πλοήγηση: h j k l Μετακίνηση αριστερά κατά ένα χαρακτήρα Μετακίνηση κάτω κατά ένα χαρακτήρα Μετακίνηση πάνω κατά ένα χαρακτήρα Μετακίνηση δεξιά κατά ένα χαρακτήρα Απλώς πατήστε το πλήκτρο και θα μετακινηθείτε ανάλογα. Όπως θα δείτε και παρακάτω, τα διάφορα πλήκτρα μπορούν να συνδυαστούν προκειμένου να φέρουν κάποια αποτελεσματική μετακίνηση. Πολλές από τις εντολές τις οποίες θα χρησιμοποιείτε στη κατάσταση εντολών ξεκινάνε με την άνω κάτω τελεία. Για παράδειγμα, για να κλείσετε τον vi πρέπει να δώσετε :q, όπως είπαμε και νωρίτερα. Η άνω κάτω τελεία σημαίνει ότι αυτό που ακολουθεί στη συνέχεια είναι εντολή, και το q λέει στον vi να κλείσει. Άλλες εντολές μπορούν να ξεκινούν με κάποιον αριθμό και να ακολουθούνται από χαρακτήρες. Οι εντολές αυτές δε χρειάζονται την άνω κάτω τελεία στην αρχή. Για παράδειγμα, για να διαγράψετε μία γραμμή από ένα αρχείο πρέπει να δώσετε την εντολή dd. Η εντολή αυτή θα διαγράψει τη γραμμή πάνω στην οποία βρίσκεται ο κέρσορας. Δίνοντας την εντολή 4dd τότε θα διαγραφούν οι 4 γραμμές από εκεί όπου βρίσκεται ο κέρσορας. Ο αριθμός δηλώνει τις πόσες γραμμές θέλετε να διαγράψετε. Μπορείτε επίσης να μετακινηθείτε κατά πολλούς χαρακτήρες με μία φορά. Για παράδειγμα, η εντολή 10k θα μετακινήσει τον κέρσορα δέκα γραμμές πιο πάνω. Μπορείτε επίσης να χρησιμοποιείσετε εντολές για αντιγραφή και επικόλληση, για να εισάγετε κείμενο, να διαβάσετε άλλα αρχεία. Για να αντιγράψετε ένα κομμάτι κειμένου απλώς το κάνετε με το πλήκτρο y. Για να αντιγράψετε τη γραμμή στην οποία βρίσκεται ο κέρσορας απλώς δίνετε την εντολή yy. Στη συνέχεια μετακινηθείτε στη γραμμή όπου θέλετε να κάνετε επικόλληση αυτή την οποία αντιγράψατε και δώστε την εντολή p. Το κείμενο θα επικολληθεί μία γραμμή κάτω από τον κέρσορα. Η αποκοπή κειμένου γίνεται με την εντολή dd, διαγραφή, και τη p, επικόλληση. Το να εισάγετε κάποιο άλλο κείμενο είναι σχετικά ευκολότερο. Απλώς πληκτρολογείστε :r, ακολουθούμενο από ένα κενό και το όνομα του αρχείου που περιέχει το κείμενο που θέλετε. Τα περιεχόμενα του αρχείου θα επικολληθούν στο ήδη ανοιχτό κείμενο, στην αμέσως επόμενη γραμμή από εκεί που βρίσκεται ο κέρσορας. Κάποιοι πιο έξυπνοι κλώνοι του vi προσφέρουν και συμπλήρωση εντολών και λέξεων με τον ίδιο περίπου τρόπο όπως στα διάφορα κελύφη. Η τελευταία χρήση που θα καλύψουμε είναι η αυτή της εύρεσης. Η κατάσταση εντολών σας επιτρέπει να πραγματοποιήσετε μια απλή εύρεση, όπως επίσης και περίπλοκη του τύπου βρες και αντικατέστησε, η οποία κάνει έντονη χρήση συνηθισμένων εκφράσεων, τα λεγόμενα regular expressions. Ο σκοπός του κεφαλαίου όμως δεν είναι η κάλυψη των εκφράσεων αυτών οπότε θα καλύψουμε μόνο τα βασικά τα οποία χρειάζονται όταν θέλετε
να βρείτε κάτι. Μια απλή εύρεση ξεκινάει με τον χαρακτήρα / ακολουθούμενο από το κείμενο το οποίο θέλετε να βρείτε. Ο vi θα ξεκινήσει να ψάχνει από το σημείο που βρίσκεται ο κέρσορας μέχρι το τέλος του κειμένου και θα σταματάει κάθε φορά που βρίσκει ένα αποτέλεσμα. Θα πρέπει να ξέρετε ότι ο vi θα σας επιστρέψει και αποτελέσματα τα οποία δεν ταιριάζουν ακριβώς στα κριτήρια εύρεσης. Για παράδειγμα εάν δώσετε ως κριτήριο το αύριο, εάν υπάρχει η λέξη μεθαύριο τότε θα την επιστρέψει ως αποτέλεσμα. Εάν θέλετε να ξαναψάξετε για κάποια λέξη με τα ίδια κριτήρια από εκεί όπου έχει ήδη βρεθεί κάποια λέξη που ήδη ταιριάζει τα κριτήρια, απλώς πατήστε το πλήκτρο / ακολουθούμενο από το enter. Μπορείτε επίσης να ψάξετε αντίστροφα, αντικαθιστώντας τον χαρακτήρα / με τον? Για παράδειγμα, για να βρείτε τη λέξη αύριο στο μέρος του κειμένου πάνω από τον κέρσορα, τότε χρειάζεται να δώσετε την εντολή?αύριο 16.2.2 Κατάσταση εισαγωγής (Insert Mode) Η εισαγωγή και αντικατάσταση κειμένου γίνεται όταν βρίσκεστε στη κατάσταση εισαγωγής. Όπως έχουμε πει και προηγουμένως μπορείτε να αλλάξετε στη κατάσταση εισαγωγής με το πλήκτρο i. Με το ESCAPE μπορείτε να επανέλθετε στην κατάσταση εντολών. Η αντικατάσταση κειμένου γίνεται με διάφορους τρόπους. Από τη κατάσταση, εντολών με την εντολή r θα σας επιστρέψει να αντικαταστήσετε τον χαρακτήρα όπου είναι επιλεγμένος από τον κέρσορα. Αφότου πληκτρολογείσετε τον νέο χαρακτήρα θα επιστρέψετε αμέσως στη κατάσταση εντολών. Δίνοντας ως εντολή το R θα μπορέσετε να αντικαταστήσετε όσους χαρακτήρες θέλετε από το σημείο που βρίσκεται ο κέρσορας. Με το ESCAPE μπορείτε να επιστρέψετε πάλι στη κατάσταση εντολών. Υπάρχει και άλλος ένας τρόπος για να εισάγετε και να αντικαταστήσετε κείμενο. Πατώντας το πλήκτρο INSERT από την κατάσταση εντολών θα αλλάξετε σε κατάσταση εισαγωγής. Αφού βρίσκεστε σε αυτή τη κατάσταση, χρησιμοποιώντας το INSERT μπορείτε να αλλάζετε μεταξύ της εισαγωγής και αντικατάστασης κειμένου. Εάν το πατήσετε μια φορά θα σας επιστρέψει να αντικαταστήσετε μέρος του κειμένου, ενώ εάν το πατήσετε παραπάνω από μία τότε θα μπορέσετε να εισάγετε κείμενο. 16.3 Ανοίγοντας αρχεία O vi σας επιτρέπει να ανοίγετε αρχεία από τη κατάσταση εντολών αλλά επίσης και με το να δίνετε το όνομα του αρχείου όταν βρίσκεστε στη γραμμή εντολών κέλυφος. Για να ανοίξετε μέσα από τον vi το αρχείο /etc/lilo.conf: :e /etc/lilo.conf Εάν έχετε πραγματοποιήσει αλλαγές στο υπάρχον κείμενο και δεν τις έχετε σώσει, τότε ο vi θα σας παραπονεθεί. Μπορείτε να ανοίξετε ένα νέο αρχείο χωρίς να έχετε σώσει τις αλλαγές ενός άλλου με να δώσετε την εντολή :e! και στη συνέχεια το όνομα του αρχείου. Σε γενικές γραμμές, όλες οι προειδοποιήσεις του vi μπορούν να παρακαμφθούν με την εισαγωγή του ερωτηματικού στο τέλος την εντολής. Εάν θέλετε να ξανανοίξετε το ήδη ανοιχτό αρχείο, μπορείτε απλά να δώσετε την εντολή e!. Αυτό είναι πολύ σημαντικό σε μερικές περιπτώσεις όπου έχετε κάνει πολλές αλλαγές στο ανοιχτό σας αρχείο και θέλετε την αρχική του έκδοση.
Μερικοί κλώνοι του vi (για παράδειγμα ο vim) σας επιτρέπουν να ανοίξετε δύο διαφορετικές καταστάσεις του vi. Μπορείτε να ανοίξετε για παράδειγμα το αρχείο 09- vi.sgml ενώ έχετε ανοιχτό ένα άλλο αρχείο: :split ~/09-vi.sgml Η οθόνη θα χωριστεί στα δύο, και το νέο αρχείο αρχείο θα εμφανιστεί στο πάνω μισό μέρος. Υπάρχουν πολλές εντολές που σας βοηθούν να δουλέψετε με τα δύο διαφορετικά μισά. Ως συνήθως, το καλύτερο μέρος να κοιτάξετε για αυτές τις εντολές είναι οι σελίδες man του vi ή του κλώνου που εσείς χρησιμοποιείτε. Έχετε υπόψιν σας όμως ότι πολλοί κλώνοι δεν υποστηρίζουν το χωρισμό της οθόνης στα δύο. 16.4 Σώζοντας αρχεία Υπάρχουν διάφοροι τρόποι για να σώσετε ένα αρχείο με τον vi. Εάν θέλετε να σώσετε ένα ήδη καινούργιο αρχείο με το όνομα randomness, τότε θα δώσετε την εντολή: :w randomness Όταν έχετε σώσει το αρχείο μία φορά, ή έχετε άνοιξει κάποιο υπάρχον, τότε αρκεί να δώσετε την εντολή :w για να αποθηκευτούν οι αλλαγές. Όταν τελειώσει η διαδικασία της αποθήκευσης, θα βρίσκεστε πάλι σε κατάσταση εντολών. Εάν θέλετε να σώσετε τις αλλαγές σε ένα αρχείο και να κλείσετε τον vi, τότε θα δώσετε την εντολή :wq Εάν θέλετε να σώσετε τις αλλαγές σε κάποιο αρχείο το οποίο είναι διαθέσιμο μόνο για ανάγνωση, τότε πρέπει να προσθέσετε το ερωτηματικοί στο τέλος την εντολή: :w! Υπάρχουν όμως φορές όπου δε θα σας επιτραπεί καθόλου να σώσετε τις αλλαγές σε κάποιο αρχείο. Για παράδειγμα εάν ένα αρχείο ανήκει σε κάποιον άλλο χρήστη και δεν έχετε την άδεια να γράψετε σε αυτό. Εάν βρίσκεστε σε μια τέτοια περίπτωση, ο vi θα σας ενημερώσει ανάλογα. Εάν θέλετε να κάνετε αλλαγές στο αρχείο, τότε θα πρέπει να συνδεθείτε ως υπερχρήστης root και να το επεξεργαστείτε, ή να να συνδεθείτε με το σύστημα ως ο χρήστης που του ανήκει το αρχείο. 16.5 Έξοδος από τον vi Ένας τρόπος για να βγείτε από τον vi είναι με την εντολή :wq η οποία θα σώσει το ανοιχτό αρχείο και θα κλείσει το πρόγραμμα. Μπορείτε επίσης να δώσετε την εντολή :q η οποία θα κλείσει το πρόγραμμα χωρίς να αποθηκεύσει τις οποιεσδήποτε αλλαγές. Πιο συχνά χρησιμοποιείτε η εντολή :q! η οποία θα κλείσει τον vi και θα παρακάμψει τα όποια προειδοποιητικά μηνύματα. Υπάρχουν και περιπτώσεις, όπου το μηχάνημά σας μπορεί να κολλήσει και μαζί με αυτό και ο vi. Ο elvis και ο vim θα ακολουθήσουν συγκεκριμένα βήματα προκειμένου να ελαχιστοποιήσουν όσο το δυνατόν περισσότερο σφάλματα στα ανοιγμένα αρχεία. Και δύο αυτοί κλώνοι του vi, θα σώσουν το ανοιχτό αρχείο σε κάποιο άλλο προσωρινό. Το προσωρινό αυτό αρχείο έχει συνήθως το ίδιο παρόμοιο όνομα με αυτό του κανονικού αρχείου, αλλά με μια τελεία στην αρχή. Η τελεία στην αρχή κάνει το αρχείο αόρατο!
Τα προσωρινά αρχεία διαγράφονται με το που το πρόγραμμα κλείσει υπό φυσιολογικές συνθήκες. Αυτό σημαίνει ότι τα αρχεία αυτά θα παραμείνουν ως έχουν εάν ο υπολογιστής κολλήσει και δεν τερματίσει σωστά. Όταν επιστρέψετε στο σύστημα σας και ανοίξετε το αρχείο, σας ερωτηθείτε τη διαδικασία θα θέλετε να ακολουθήσετε. Στις περισσότερες περιπτώσεις, ένα μεγάλο μέρος των αλλαγών σας θα έχουν σωθεί. Εάν χρησιμοποιείτε τον elvis, θα σας σταλεί και ένα προσωπικό μήνυμα το οποίο θα σας ενημερώνει ότι υπάρχει εάν σωσμένο αρχείο με τις αλλαγές σας οι οποίες δεν είχανε αποθηκευτεί. 16.6 Ρυθμίσεις Τόσο ο vi όσο και οι κλώνοι του μπορούν να παραμετροποιήθουν αρκετά. Είναι πολλές οι εντολές οι οποίες μπορούν να σας βοηθήσουν να κάνει ο vi αυτό που εσείς θέλετε. Αναλόγως το κλώνο που χρησιμοποιείτε μπορείτε να ενεργοποιήσετε διάφορα χαρακτηριστικά τα οποία θα σας διευκολύνουν σε διάφορες εργασίες όπως για παράδειγμά στον προγραμματισμό, να χρησιμοποιείτε μακροεντολές, να ενεργοποιήσετε αντικατάσταση κειμένου και άλλα πολλά. Σχεδόν όλες αυτές οι εντολές μπορούν να αποθηκευτούν σε ένα απλό αρχείο μέσα στο home directory σας. Ο elvis θα περιμένει να υπάρχει ένα αρχείο με το όνομα.exrc ενώ ο vim με το όνομα.vimrc Οι περισσότερες από τις εντολές ρυθμίσεων όπου μπορούν να χρησιμοποιηθούν στη κατάσταση εντολών, μπορούν να αποθηκευτούν σε ένα τέτοιο αρχείο. Μιας και οι επιλογές και οι ρυθμίσεις για αυτά τα προγράμματα είναι πραγματικά πάρα πολλές, καλό θα είναι να ρίξετε μια ματιά στις σελίδες βοηθείας, man. Επίσης εάν δώσετε την εντολή :help. Μπορείτε επίσης να διαβάσετε και το βιβλίο Learning the vi Editor των εκδόσεων από τους Lamb και Robbins των εκδόσεων O'Reilly. Πολλά προγράμματα στο Linux χρησιμοποιούν ως τον προεπιλογή κειμενογράφο τον vi. Εάν για παράδειγμα θέλετε να επεξεργαστείτε κάποια αυτοματοποιημένη εργασία του crontabs τότε το αρχείο θα ανοίξει μέσα από τον vi. Εάν θέλετε να έχετε κάποιο άλλο πρόγραμμα ως προεπιλογής για επεξεργασία κειμένου, τότε θα πρέπει να ορίσετε τη μεταβλητή περιβάλλοντος VISUAL με το όνομα του αγαπημένου σας επεξεργαστή κειμένου. Για περισσότερες πληροφορίες στο πως να ορίζετε μεταβλητές περιβάλλοντος ρίξτε μα ματιά στο κεφάλαιο 8 του βιβλίου. 16.7 Τα πλήκτρα του vi Η ενότητα αυτή είναι μια μικρή παραπομπή στις πιο συνηθισμένες εντολές για τον vi. Πίνακας 16-1. Κίνηση Λειτουργία Πλήκτρα αριστερά, κάτω, πάνω, δεξιά h, j, k, l Στο τέλος της γραμμής $ Στην αρχή της γραμμής ^ Στο τέλος του αρχείου G Στην αρχή του αρχείου :1 To line 47 :47
Πίνακας 16-2. Επεξεργασία Λειτουργία Αφαίρεση γραμμής Αφαίρεση πέντε γραμμών Αντικατάσταση χαρακτήρα Αφαίρεση χαρακτήρα Αφαίρεση δέκα χαρακτήρων Αναίρεση τελευταίας αλλαγής Ένωση τρεχόντων και επόμενων γραμμών Αντικατάσταση old με new, σε όλο το κείμενο Πλήκτρο dd 5dd r x 10x u J %s'old'new' g Πίνακας 16-3. Εύρεση Λειτουργία Εύρεση για asdf Αντίστροφη εύρεση του asdf Επανάληψη τελευταίας εμπρόσθιας εύρεσης Επανάληψη τελευταίας αντίστροφης εύρεσης Επανάληψη τελευταίας εύρεσης προς την ίδια φορά Επανάληψη τελευταίας εύρεσης προς την αντίθετη φορά Πλήκτρο /asdf?asdf /? n N Πίνακας 16-4. Αποθήκευση και Έξοδος Λειτουργία Πλήκτρο Έξοδος :q Έξοδος χωρίς αποθήκευση αλλαγών :q! Αποθήκευση και έξοδος :wq Αποθήκευση :w Ξάνοιγμα του υπάρχοντος αρχείου :e! Απόθήκευση κειμένου ως asdf :w asdf Άνοιγμα αρχείου hejaz :e hejaz Άνοιγμα αρχείο asdf μέσα στο υπάρχον αρχείο :r asdf Εισαγωγή στο κείμενο τα αποτελέσματα της εντολής :r!ls ls