Vim: Ο βασιλιάς των text editors - Βασικές εντολές

dimitris | Τετ, 08/28/2013 - 07:34 | 7' | 3

Αν υπάρχει ένα πρόγραμμα που όλοι οι λινουξάδες έχουν χρησιμοποιήσει έστω και για μία φορά στη ζωή τους, αυτό πιθανόν να είναι το Vim. Πρόκειται για τον καλύτερο και πλέον ισχυρό κειμενογράφο για την κονσόλα του Linux.

O Vim είναι ένας από τους πιο δύσκολους στην εκμάθηση κειμενογράφους, ωστόσο είναι ίσως ο πιο δημοφιλής ειδικά σε developers και sysadmins. Μάλιστα, έχει -μάλλον δικαίως- τη φήμη ότι είναι σχεδόν αδύνατο να κατανοηθεί από τους νέους χρήστες. Κι αυτό διότι αντίθετα από όλους τους άλλους κειμενογράφους, ο Vim χρησιμοποιεί κάτι το οποίο λέγεται modal interface, το οποίο χρησιμοποιούσαν οι παλιοί κειμενογράφοι που εκτελούνταν σε πιο στοιχειώδη περιβάλλοντα κειμένου τα οποία δεν είχαν π.χ. τη δυνατότητα να ολισθαίνουν την οθόνη σε παραπάνω από μία κατεύθυνση. Ουσιαστικά, στον Vim πρέπει να πατήσεις πρώτα το πλήκτρο Insert για να μπεις σε κατάσταση εισαγωγής κειμένου και να γράψεις κάτι. Διαφορετικά, με τα βελάκια, πηγαίνεις τον κέρσορα πάνω κάτω και αριστερά δεξιά.

Το interface του Vim βασίζεται στο Vi (το όνομα σημαίνει VI iMproved) το οποίο με την σειρά του βασίστηκε σε έναν παλιότερο κειμενογράφο που λεγόταν ed. Εάν θεωρείτε το Vim δυσνόητο, προσπαθήστε να δουλέψετε με το ed - θα τον βρείτε ακόμα στις περισσότερες διανομές και θα σας δείξει πως ήταν τα πράγματα πριν από πολλά πολλά χρόνια.

Οι δύο καταστάσεις λειτουργίας του Vim χαϊδευτικά αναφέρονται ως "η μία που κάνει beep και η άλλη που δεν κάνει". Η δεύτερη από αυτές είναι γνωστή και ως "κατάσταση εισαγωγής" και χρησιμοποιείται για την εισαγωγή κειμένου πατώντας Insert ή Ι. Στον Vim θα βρείτε όλα τα απαραίτητα: συντακτικό χρωματισμό, ταίριασμα αγκίστρων κλπ. Αυτές και αρκετές ακόμα δυνατότητες μπορούν να ενεργοποιηθούν ή να απενεργοποιηθούν στην κατάσταση που κάνει beep, δηλαδή στην "κατάσταση εντολών", στην οποία πηγαίνετε με το Escape. Υπάρχει και μια τρίτη κατάσταση, το Visual Mode, αλλά να μην σας τρελάνω κατευθείαν...

Η κατάσταση εντολών

To command mode του Vim είναι αρκετά δυσνόητη για τους αρχάριους χρήστες ωστόσο όμως υπάρχει το εξαίρετο vimtutor που σας παρέχει λεπτομερείς οδηγίες. Όπως είπαμε, πιέζοντας το πλήκτρο I ή το Insert (αν υπάρχει στο πληκτρολόγιο σας) εισάγετε κείμενο και πατώντας το πλήκτρο Esc επιστρέφετε στην κατάσταση εντολών. Οι εντολές κυμαίνονται από αρκετά απλές ως αρκετά πολύπλοκες. Δείτε μερικά χρήσιμα παραδείγματα παρακάτω. Σημειώστε ότι όπου βλέπετε ":" σημαίνει ότι πρέπει να πατήσετε Esc για να πάτε σε command mode και μετά να εισάγετε το σύμβολο της άνω-κάτω τελείας.

Αποθήκευση του αρχείου και έξοδος από το Vim:

Γράφετε :wq

Αναζήτηση μιας λέξης:

/word

Διαγραφή μιας γραμμής

dd

Διαγραφή Χ γραμμών προς τα πάνω ή προς τα κάτω

d μετά πατάτε το νούμερο (π.χ. 2) και τέλος το πάνω ή κάτω βελάκι!

Διαγραφή από τον κέρσορα ως το τέλος της γραμμής:

D

Αναίρεση προηγούμενης επεξεργασίας:

u

Αντιγραφή τρέχουσας γραμμής:

yy

Αντιγραφή Χ γραμμών από των τρέχουσα:

y και μετά πατάτε το νούμερο π.χ. 3

Αντιγραφή Χ γραμμών στο visual mode:

v για να μπείτε σε visual και μετά με το + ή το - επιλέγετε τις γραμμές κα πατάτε y

Επικόλληση

p

(Απ)Ενεργοποίηση του εντοπισμού του είδους του αρχείου (από την κατάληξή του), με αυτόματη εισαγωγή εσοχών και συντακτικό χρωματισμό:

:filetype plugin indent on

(Απ)Ενεργοποίηση του συντακτικού χρωματισμού:

:syntax on (ή όff)

Εμφάνιση αρίθμησης των γραμμών:

:set nu

Αναζήτηση της λέξης color στην τρέχουσα γραμμή και αντικατάσταση της με red:

:s/color/red/g

Αναζήτηση της λέξης color σε ολόκληρο το αρχείο και αντικατάσταση της με red:

%s/color/red/g

Διαχωρισμός του vim σε δύο παράθυρα με το ένα να έχει ένα κενό αρχείο:

:new ή Ctrl-W-n

Μετακίνηση στο πάνω ή στο κάτω παράθυρο:

Ctrl-W-j  ή Ctrl-W-k

Εμφάνιση βοήθειας:

:h

 

Δείτε ακόμα:

Vim tricks: Ευρεση και αντικατάσταση χαρακτήρα σε plain text κείμενο

Vim: Συντακτικός χρωματισμός

Python identation σε Vim

Δώσε αστέρια!

MO: 5 (ψήφοι: 2)

Σχόλια

dimitris]Αναζήτηση της λέξης color στην τρέχουσα γραμμή και αντικατάσταση της με red:

:s/color/red/g

Αναζήτηση της λέξης color σε ολόκληρο το αρχείο και αντικατάσταση της με red:

%s/color/red/g

Αυτά μου θύμισαν πολύ την δομή της εντολής sed

Έτυχα σε διανομή χωρίς nano ....

Χρησημοποίησα το vim ....

Δεν ήξερα πως να αποθηκεύσω. Πουθενά μα πουθενά δεν έλεγε για το
"Γράφετε :wq" .....

Ωραίος οδηγός!!

Hint: Για περισσοτερες εντολές υπάρχει κείμενο βοήθειας:

$ vimtutor gr