"Τι είναι το Vim?" Μια εξήγηση σε 8ΚΒ O Vim ("Vi IMproved") είναι ένας "κλώνος" του vi ("vi clone"), δηλαδή ένα πρόγραμμα παρόμοιο με τον επεξεργαστή κειμένου "vi" O Vim δουλεύει σε περιβάλλον κειμένου (κονσόλες κλπ) σε κάθε τερματικό, αλλά επίσης έχει και ένα γραφικό περιβάλλον, δηλαδή πράγματα όπως μενού και υποστήριξη για ποντίκι. Διαθεσιμότητα: To Vim είναι διαθέσιμο για πολλές πλατφόρμες και έχει πολλές επιπλέον δυνατότητες σε σύγκριση με τον Vi. (κοιτάξτε στο http://www.vim.org/viusers.php - σύντομα και στα ελληνικά). Το Vim είναι συμβατό με σχεδόν όλες τις εντολές του Vi - εκτός από τα bugs του ;-) Λειτουργικά Συστήματα: Ο Vim είναι διαθέσιμος για πάρα πολλά συστήματα: AmigaOS, Atari MiNT, BeOS, DOS, MacOS, NextStep, OS/2, OSF, RiscOS, SGI, UNIX, VMS, Win16 + Win32 (Windows95/98/00/NT) - και ιδιαίτερα για το FreeBSD και το Linux. :-) Copyright: Το copyright ανήκει στον κύριο συγγραφέα - δημιουργό και συντηρητή του, τον Bram Moolenaar . Ο Vim είναι "φιλανθρωπικός", πχ αντί τέλους χρήσης σας προτρέπουμε να κάνετε μια προσφορά στα ορφανά της Uganda. (Για περισσότερες πληροφορίες κοιτάξτε ":help uganda"). Κώδικας: Ο Vim είναι ανοιχτός ως προς τον κώδικα (OpenSource) και όλοι είναι ευπρόσδεκτοι να βοηθήσουν στην βελτίωσή του. === Χαρακτηριστικά Επεξεργαστής Για Αρχάριους - Φιλικός προς τον Χρήστη: Ο Vim είναι πολύ πιο εύκολος για τους αρχάριους από τον Vi εξαιτίας της εκτεταμένης του on-line βοήθειας, των εντολών "undo" και "redo" ("αναίρεση" και "επανάληψη" - μην ανησυχείτε για τα λάθη, απλά χρησιμοποιήστε "undo" και "redo"!), υποστήριξη του ποντικιού και προσαρμόσιμα εικονίδια και μενού (σε γραφικό περιβάλλον). Κώδικες Χαρακτήρων και Τερματικά: Ο Vim υποστηρίζει το iso-latin1 σετ χαρακτήρων και το termcap. (Ο Vanilla Vi έχει πρόβλημα με αυτά.) Χαρακτήρες και Γλώσσες: Ο Vim υποστηρίζει και την γραφή από-δεξιά-προς-αριστερά (πχ για χρήση με Αραβικά, Εβραϊκά), και κείμενα multi-byte, πχ γλώσσες με γραφικούς χαρακτήρες που αναπαρίστανται με περισσότερα από ένα bytes όπως είναι τα Κινέζικα, Γιαπωνέζικα, Κορεάτικα κλπ). Από τεχνικής πλευράς, ο Vim υποστηρίζει κείμενο σε μορφή UTF-8 και Unicode. Διαμόρφωση Κειμένου και Visual Mode: Με τον Vim μπορείτε να επιλέξετε κείμενο "οπτικά" (με "φώτισή" του) πριν το χρησιμοποιήσετε, πχ το αντιγράψετε, το διαγράψετε, το αντικαταστήσετε, το μετακινήσετε δεξιά ή αριστερά, εναλλάξετε κεφαλαία με μικρά ή διαμορφώσετε το κείμενο και όλα αυτά διατηρώντας τις παραγράφους στο κείμενο. Ο Vim επιτρέπει την επιλογή και τη χρήση κειμένου και με ορθογώνια μπλοκ κειμένου. Συμπλήρωση Εντολών: Ο Vim έχει εντολές οι οποίες συμπληρώνουν την είσοδό σας - είτε με εντολές είτε με ονόματα αρχείων είτε με λέξεις. Αυτόματες Εντολές: Ο Vim έχει επίσης τις "autocommands" (αυτόματες εντολές) για αυτόματη εκτέλεση εντολών (πχ αυτόματη αποσυμπίεση συμπιεσμένων αρχείων). Διγραμματική Είσοδος: Ο Vim επιτρέπει την είσοδο ειδικών χαρακτήρων με έναν συνδυασμό δύο χαρακτήρων (πχ ο συνδυασμός ενός " με ένα O δίνει ένα β) - και σας επιτρέπει να ορίσετε και δικούς σας συνδυασμούς. Ανίχνευση και Μετατροπή Μορφών Κειμένου: Ο Vim αυτόματα αναγνωρίζει τον τύπο των αρχείων (DOS, Mac, Unix) και σας δίνει την δυνατότητα να τα σώσετε σε οποιοδήποτε άλλο format - δεν χρειάζεστε πια το unix2dos στα Windows! Ιστορικό: Ο Vim κρατά το "ιστορικό" των εντολών και των αναζητήσεων και έτσι μπορείτε να ανακαλέσετε προηγούμενες εντολές ή πρότυπα αναζητήσεων για να επεξεργαστείτε. Καταγραφή Μακροεντολών: Ο Vim επιτρέπει την "εγγραφή" των ενεργειών σας κατά την επεξεργασία κάποιου κειμένου έτσι ώστε να είναι δυνατή η πολλαπλή εφαρμογή τους σε επαναληπτικές εργασίες. Όρια Μνήμης: Ο Vim έχει πολύ υψηλότερα όρια μνήμης για το μήκος γραμμής και μεγαλύτερους buffers (ενδιάμεσους χώρους αποθήκευσης) από τον γνήσιο Vi. Πολλαπλοί buffers και Χωρισμός Οθόνης: Ο Vim επιτρέπει την επεξεργασία με πολλαπλούς buffers (χώρους ενδιάμεσης αποθήκευσης) καθώς και τον χωρισμό της οθόνης σε πολλά επιμέρους παράθυρα (υποπαράθυρα) τόσο οριζόντια όσο και κάθετα, έτσι ώστε να είναι δυνατή η ταυτόχρονη επεξεργασία πολλών κειμένων ή του ίδιου κειμένου σε διαφορετικά σημεία. Αριθμητικά Προθέματα σε Εντολές: Ο Vim επιτρέπει αριθμητικό πρόθεμα για περισσότερες εντολές από τον Vi (πχ για την "put"). Βοηθητικά και Συντακτικά Αρχεία Χρόνου-Εκτέλεσης (Runtime): Ο Vim-5.7 συνοδεύεται από 70 βοηθητικά αρχεία (περίπου 2080K κειμένου) για εντολές, επιλογές, με συμβουλές για ρυθμίσεις και επεξεργασία. Ο Vim-6.0w περιλαμβάνει 85 αρχεία και 2780Κ κειμένου. Κάποια αρχεία είναι ειδικά για τη χρήση του Vim σε κάθε λειτουργικό σύστημα. [11/03/2001] Scripts εργασίας: Ο Vim έχει ενσωματωμένη γλώσσα για scripts προσφέροντας εύκολη επέκταση. Μετατόπιση αναζήτησης: Ο Vim επιτρέπει μετατοπίσεις (offsets) για τις εντολές αναζήτησης, έτσι ώστε να μπορεί να τοποθετεί τον δρομέα (κέρσορα) *μετά* το εντοπισμένο κείμενο. Ανάκτηση Περιόδου Εργασίας: Ο Vim επιτρέπει να αποθηκεύεται πληροφορία μιας περιόδου επεξεργασίας σε ένα αρχείο ("viminfo") πράγμα το οποίο επιτρέπει την χρησιμοποίησή της σε μια επόμενη περίοδο. Τέτοια πληροφορία είναι πχ η λίστα με τους buffers, σημάδια στο αρχείο, καταχωρητές, το "ιστορικό" εντολών και αναζητήσεων. Επέκταση (αντικατάσταση) των Tab: Ο Vim μπορεί να αντικαταστήσει τα tabs στο κείμενο με κενούς χαρακτήρες (expandtab, :retab). Σύστημα Ετικετών: Ο Vim μπορεί να αναζητήσει κείμενο σε αρχεία χρησιμοποιώντας ένα ευρετήριο με "ετικέτες" καθώς επίσης και πολλές εντολές χειρισμού της στοίβας ετικετών. Αντικείμενα Κειμένων: Ο Vim "γνωρίζει" περισσότερα αντικείμενα-συστατικά κειμένων (παραγράφους, προτάσεις, λέξεις, συμβολοσειρές - όλα με ή χωρίς περιβάλλοντα κενά) και επιτρέπει τη ρύθμιση και ορισμό αυτών των συστατικών. Χρωματισμός Σύνταξης: Ο Vim χρωματίζει το κείμενο σύμφωνα με τη γλώσσα προγραμματισμού που χρησιμοποιείτε. Μπορείτε να ορίσετε την "γλώσσα" ("σύνταξη") που χρησιμοποιείτε. Ο Vim συνοδεύεται από περισσότερα απο 200 αρχεία σύνταξης για το χρωματισμό του κειμένου για τις περισσότερες γνωστές γλώσσες προγραμματισμού (Ada, C, C++, Eiffel, Fortran, Haskell, Java, Lisp, Modula, Pascal, Prolog, Python, Scheme, Smalltalk, SQL, Verilog, VisualBasic), μαθηματικά προγράμματα (Maple, Matlab, Mathematica, SAS), επαυξημένο κείμενο (DocBook, HTML, LaTeX< PostScript, SGML-LinuxDoc, TeX, WML, XML), έξοδο γνωστών προγραμμάτων (diff, man), αρχεία ρυθμίσεων προγραμμάτων (4DOS, Apache, autoconfig, BibTeX, CSS, CVS, elm, IDL, LILO, pine, procmail, samba, slrn), shell scripts και ρυθμίσεις (sh, bash, csh, ksh, zsh), γλώσσες script (awk, Perl, sed, yacc) αρχεία συστήματος (printcap, .Xdefaults) και βέβαια για τον ίδιο τον Vim και τα αρχεία βοηθείας του. Ειδικός Κώδικας: Ο Vim μπορεί να συνδυαστεί με Perl, Tcl και Python. Επίσης, μπορεί να λειτουργήσει ως αντικείμενο OLE σε περιβάλλον Windows. Ο Vim μπορεί επίσης να εγκατασταθεί με κώδικα για X-windows, προσθέτοντας ρυθμιζόμενα menu και υποστήριξη για το ποντίκι. Και πολλά άλλα... :-))) Επίσιμη Σελίδα του Vim στο WWW: http://www.vim.org Για μια πιο εμπεριστατωμένη περιγραφή των δυνατοτήτων του Vim κοιτάξτε: http://www.vim.org/about.php Αρχικό Κείμενο: Sven Guckes Προσαρμογή στα Ελληνικά: Δημήτρης Τζένος Ενημέρωση: Κυριακή 11 Μαρτίου 2001.