Page 66 - Linux_7

Basic HTML Version

Ο
σοι αντικρίζουν για πρώτη φορά τον Vim, το λιγότερο
που τους προκαλείται είναι δυσφορία. Μα είναι δυνα-
τόν να εργαστεί κανείς σε έναν κειμενογράφο όπου
δεν δουλεύει καν το κλασικό CTRL-C/CTRL-V για το copy
paste; Είναι δυνατόν αυτός ο κειμενογράφος, ο οποίος στην
έκδοση του τερματικού δεν έχει καν ένα μικρό μενού για τις
βασικές επιλογές, να μπορεί να κάνει τη ζωή κάποιου πιο εύ-
κολη; Κι όμως, αν ξεπεράσει κανείς το αρχικό σοκ και ξεκινή-
σει με καθαρό μυαλό, θα δει πως ο Vim μπορεί να τον βοηθή-
σει να γίνει πιο παραγωγικός από ποτέ.
Λίγη ιστορία πρώτα όμως. Οι πρώτοι επεξεργαστές κειμέ-
νου σε Unix μηχανήματα λειτουργούσαν σε επίπεδο «γραμ-
μής» (line editors). Ο χρήστης είχε στα χέρια του ένα πλη-
κτρολόγιο και έναν εκτυπωτή και ό,τι χρειαζόταν να εκτυπω-
θεί μπορούσε να το επεξεργαστεί γραμμή-γραμμή. Ο διαση-
μότερος ίσως τέτοιος επεξεργαστής ήταν ο ‘ed’, γραμμένος
από τον Ken Thompson το 1971, εξέλιξη του οποίου ήταν ο
‘em’, o ‘en’ και ο ‘ex’, με τη διαφορά πως οι τελευταίοι είχαν
φτιαχτεί για να μπορούν να επεξεργάζονται γραμμές κειμέ-
νων και σε οθόνες. Εξέλιξη του visual mode του ‘ex’ ήταν ο
‘vi’ (visual in ‘ex’), του οποίου η πρώτη έκδοση βγήκε το 1977
από τον Bill Joy. Από τα σημαντικότερα χαρακτηριστικά του vi
είναι η τροπικότητα (modality), υπάρχουν δηλαδή διαφορετι-
κές καταστάσεις (modes) για διαφορετικές λειτουργίες: μία
για να επεξεργάζεται κανείς το κείμενο, μία για να επιλέγει
και να αντιγράφει κείμενο, καθώς και μία ακόμα για να τρέχει
εντολές.
O Vim (Vi IMproved) δημιουργήθηκε το 1991 από τον Bram
Moolenaar ως ένας κλώνος του vi για την Amiga. Από εκεί και
πέρα όμως είχε ραγδαία ανάπτυξη και πολύ σύντομα μπόρε-
σε να τρέξει σε όλα τα λειτουργικά. Άλλα «παιδιά» του vi είναι
o ‘stevie’, o ‘elvis’, ο ‘nvi’ και ο ‘vile’ (VI Like Emacs). Κατά
τους παραδοσιακούς πολέμους των χρηστών σχετικά με το
ποιος είναι ο καλύτερος editor μεταξύ Vim και Emacs (ο οποί-
ος επίσης προέρχεται από έναν διαφορετικό line-editor με το
όνομα TECO), ο Vim είναι αυτός που συνεχίζει τη μάχη από
τη μεριά των κλώνων του vi.
Ξεκινώντας!
Οι ρυθμίσεις του Vim βρίσκονται σε τρία βασικά αρχεία πα-
ραμετροποίησης, το vimrc, το gvimrc και το exrc. Το πρώτο
έχει να κάνει με τις βασικές ρυθμίσεις, το δεύτερο με το γρα-
φικό κομμάτι του Vim που λέγεται gvim (περισσότερα σε μελ-
λοντικό άρθρο) και το τρίτο έχει να κάνει με τον line editor
‘ex’, ο οποίος έρχεται μαζί με το πακέτο vi/vim της διανομής
σας. Για κάθε αρχείο παραμετροποίησης υπάρχει ένα καθολι-
κό (global), που βρίσκεται συνήθως στο /etc/vim/, καθώς και
ένα προσωπικό που βρίσκεται στο τοπικό κατάλογο κάθε χρή-
στη, π.χ. ~/.vimrc .
Η εκκίνηση του επεξεργαστή γίνεται γράφοντας ‘vim’ σε
ένα τερματικό. Για να γράψει κανείς κάτι πρέπει να πατήσει
πρώτα το αγγλικό ‘i’ (insert) και έπειτα να γράψει αυτό που
θέλει. Για να σταματήσει να γράφει πρέπει να πατήσει το πλή-
κτρο Esc. Για να βγει κανείς από τον vim χωρίς να «σώσει»
πρέπει να πατήσει ‘:q!’ (quit) – κανονικά η εντολή είναι ‘:q’ για
έξοδο χωρίς αλλαγές και ‘:wq’ για σώσιμο και έξοδο. Για να
σωθεί ένα κείμενο με νέο όνομα αρκεί το ‘:w όνομα’ (write).
Αν κάποιος τα κάνει αυτά, έχει ήδη γνωρίσει τις τρεις διαφο-
ρετικές καταστάσεις στις οποίες μπορεί να βρεθεί μέσα στον
vim. Πατώντας το ‘i’ γίνεται είσοδος στο Insert mode, όπου
μπορεί κάποιος να πληκτρολογήσει το κείμενό του. Πατώντας
το Esc επανέρχεται στο Normal mode και πατώντας ‘:’ βγαίνει
η γραμμή εντολών του Command mode. Κάποιος που θέλει
να μάθει vim πρέπει να έχει πάντα στο μυαλό του αυτές τις
τρεις διαφορετικές καταστάσεις.
Η μετακίνηση μέσα στο vi γινόταν παραδοσιακά με τα τέσ-
σερα κουμπιά: h (αριστερά), j (κάτω), k (πάνω), l (δεξιά), αλλά
ο vim υποστηρίζει και τα βελάκια για όσους δυσκολεύονται με
τα προαναφερθέντα. Πατώντας w ή b μπορεί κανείς να μετα-
κινηθεί μία λέξη μπροστά ή πίσω αντίστοιχα. Για τη μετακίνη-
ση στο τέλος μίας γραμμής μπορεί κανείς να χρησιμοποιήσει
το $, ενώ για να μετακινηθεί στην αρχή της είτε το 0 (μηδέν)
είτε το
^
. Η διαγραφή ενός χαρακτήρα προς τα πίσω κατά το
Insert mode γίνεται με το backspace (ή πατώντας CTRL+h),
ενώ για να σβήσει κάποιος έναν χαρακτήρα από μπροστά
μπορεί να χρησιμοποιήσει το πλήκτρο Del. Σε Normal mode,
Του Γιώργου Καργιωτάκη <kargig@void.gr>
Linux Labs – Vim Tricks
Αν θέλετε να βελτιώσετε την παραγωγικότητά σας,
τότε σας χρειάζεται ένας κειμενογράφος σαν τον
Vim.
Εκμάθηση
Ο καλύτερος τρόπος να ξεκινήσει κανείς να μαθαίνει τον Vim είναι
να τρέξει από ένα terminal το πρόγραμμα vimtutor. Σε μισή περί-
που ώρα θα έχει μάθει τις βασικές εντολές τρέχοντάς τες μέσα
σε ένα διαδραστικό εκπαιδευτικό κείμενο.
Εργαλεία:
Vim
Δυσκολία:
URL: www.vim.org
To blog του
Γιώργου
«Καθαρίστε» με τον Vim
Ο Γιώργος δουλεύει στο Εθνικό Δίκτυο Έρευνας και Τεχνολογίας ως διαχειριστής συστημάτων.
Το Vim εν δράσει.
1
Linux Inside
66