Δημοσιεύτηκε: 13 Φεβ 2009, 19:04
από Dimitris
vi είναι ο πιο ισχυρός κειμενογράφος που υπήρξε και θα υπάρξει ποτέ. Όποιος διαφωνεί ας το συζητήσουμε εδώ viewtopic.php?f=7&t=3416

Ανοίγουμε το τερματικό και πληκτρολογούμε vi. Ουάου το γραφικό περιβάλλον που μας άνοιξε είναι κορυφαίο. Χτυπάμε μερικά πλήκτρα στην τύχη. Τίποτε δε γίνεται. Το γυρνάμε στα αγγλικά και δοκιμάζουμε πάλι στην τύχη. Μετά από πολλούς χτύπους αρχίζει και γράφει. Ωραία το βρήκαμε το κόλπο. Αφού γράφουμε όλη τη διπλωματική/τεχνική αναφορά/διατριβή/κλπ κλπ σε μια μέρα αποφασίζουμε να το αποθηκεύσουμε. Και συνειδητοποιούμε ότι δε γίνεται. Στο τέλος κλείνουμε το τερματικό και χάνουμε όλη τη δουλειά μας. Για να μη συμβεί και σε σας αυτό, διαβάστε παρακάτω. Αν πάλι προτιμάτε να ανακαλύπτεται τους νόμους των υπολογιστών μόνοι σας αγνοήστε το κείμενο.

Spoiler: show
Ύστερα από πιέσεις των αναγνωστών αναγκάστηκα να δώσω τον κώδικα ελεύθερο στο κοινό :lol:


Για να εκκινήσουμε το vi γράφουμε στο τερματικό:
Κώδικας: Επιλογή όλων
vi


Το vi έχει 3 καταστάσεις (modes): εντολών (command), επεξεργασίας (edit), καταγραφής (record). Προς το παρόν θα ασχοληθούμε μόνο με τα δύο πρώτα. Με το που ανοίγει το vi βρισκόμαστε σε κατάσταση εντολών. Για να μεταβούμε σε κατάσταση επεξεργασίας πατάμε i. Tωρα μπορούμε να γράψουμε ό,τι θέλουμε. Για να φύγουμε από την κατάσταση επεξεργασίας πληκτρολογούμε απλώς esc.
Κώδικας: Επιλογή όλων
command > edit: i
edit > command: esc


Τώρα που μάθαμε τα βασικά μπορούμε να προχωρήσουμε στις εντολές. Όταν βρισκόμαστε σε κατάσταση εντολών οι εντολές μπορούν να είναι ή απλά πλήκτρα ή πληκτρολογώντας : να βρεθούμε στη γραμμή εντολών του vi. Μετά την : μπορούν να ακολουθήσουν εντολές όπως w για write ή q για quit. Έτσι από την κατάσταση εντολών πληκτρολογώντας
Κώδικας: Επιλογή όλων
:q

βγαίνουμε από το vi, με
Κώδικας: Επιλογή όλων
:w

αποθηκεύουμε τις αλλαγές μας, και με
Κώδικας: Επιλογή όλων
:wq

αποθηκεύουμε τις αλλαγές και βγαίνουμε ταυτόχρονα. Aν θέλουμε να φύγουμε χωρίς να αποθηκεύσουμε τις αλλαγές τότε γράφουμε
Κώδικας: Επιλογή όλων
:q!


Για να εισέλθουμε από την κατάσταση εντολών, στην κατάσταση επεξεργασίας κειμένου, εκτός από το i, υπάρχουν και άλλοι τρόποι. Συνοψίζω μερικούς:

a Από το append, εισαγει κείμενο μετά το δρομέα
i Aπό το insert, εισαγει κείμενο πριν το δρομέα
Α Eισάγει κείμενο στο τέλος της γραμμής
I Εισάγει κείμενο στην αρχή της γραμμής, στον πρώτο μη κενό χαρακτήρα
o Εισάγει νέα γραμμή κάτω από το δρομέα
O Εισάγει νέα γραμμή πάνω από το δρομέα

Φυσικά υπάρχει και αναίρεση ενέργειας με u.

Αυτά είναι ίσως όλα όσα χρειάζονται για την απλή επεξεργασία αρχείων ρυθμίσεων σε ένα server ο οποίος δεν έχει γραφικό περιβάλλον, αλλά για τη συγγραφή κώδικα χρειάζονται κι άλλες εντολές. Ίσως μερικοί γελάσουν, αλλά ναι το vi έχει syntax highlighiting για μια μεγάλη επιλογη γλωσσών. Κι αν δεν έχει για τη γλώσσα της επιλογής σας τότε σίγουρα θα μπορείτε να βρείτε το αντίστοιχο αρχείο στο διαδίκτυο. Αλλά προτρέχω.

Ανάλογα με το keymapping και τις προεπιλεγμένες ρυθμίσεις σας, μπορεί να μη λειτουργούν τα βελάκια. Σε κατάσταση εντολών ισχύει:
h αριστερά
j κάτω
k πάνω
l δεξιά

Aπο και πέρα, όλες οι εντολές αναφέρονται στην κατάσταση εντολών.

D διαγράφει όλο το κείμενο από τη θέση του δρομέα μέχρι το τέλος της γραμμής.
nx όπου n το πλήθος των χαρακτήρων που θέλετε να διαγράψετε.
dd διαγράφει την τρέχουσα γραμμή.
:set nu δείχνει τον αριθμό των γραμμών
:set nonu δε δείχνει τον αριθμό των γραμμών
:sh Ανοίγει ένα κέλυφος όπου μπορείτε να γράψετε τις αγαπημένες σας εντολές.
:!cmd Εκτελεί την εντολή cmd.

Στο μέλλον θα ανανεωθεί ο οδηγός με πολλές περισσότερες γαργαλιστικές λεπτομέρειες, όπως syntax highlighting, αρχεία ρυθμίσεων, μακροεντολές και άλλα πολλά

Υπάρχει gvim, με γραφικό περιβάλλον. Καθώς και έκδοση για mac, και windows!

Creative Commons License
Η εργασία υπάγεται στην άδεια Creative Commons Αναφορά-Παρόμοια διανομή 3.0 Ελλάδα