| Subject: Re: VIM |
Author:
krmd
|
[
Next Thread |
Previous Thread |
Next Message |
Previous Message
]
Date Posted: 13:16:44 12/19/01 Wed
In reply to:
Giannhs Kosmanidhs
's message, "VIM" on 13:15:23 12/19/01 Wed
>Pedia ti pezei me to VIM? paei o VI ?
Syntax highlighting στο VIM
Το VIM editor [ http://www.vim.org ] είναι αντικαταστάτης του VI editor που έχουν παραδοσιακά τα Unix συστήματα. Οι πιο πολλοί Unix vendors δίνουν μια δική τους υλοποίηση του VI στα Unix συστήματά τους. Ολες αυτές οι εκδόσεις είναι λίγο η πολύ συμβατές σε κάποιο βαθμό με τον αρχικό VI editor. Ανάμεσα από όλες αυτές προτιμώ τον VIM συνήθως, για διάφορους λόγους.
Είναι εύκολο να το βρει κανείς και να το εγκαταστήσει. Απλά πάει κάποιος στην σελίδα του VIM στο δίκτυο, κατεβάζει δύο αρχεία, αποσυμπιέζει, τρέχει το κλασσικό configure, make, make install σετ εντολών, και έχει στηθεί το VIM στο σύστημά του.
Είναι open-source. Που σημαίνει ότι εκτός από το να έχει κανείς ένα καλό κλώνο του αρχικού VI editor, έχει και το πλεονέκτημα του να μπορεί να κοιτάξει το ίδιο το πρόγραμμα. Μπορεί να φαίνεται απίθανο ή αστείο, αλλά εγώ τουλάχιστον, έχω μάθει πάρα πολλά διαβάζοντας τον κώδικα προγραμμάτων. Εντάξει, δεν περιμένω αυτό να το κάνουν όλοι, αλλά όσοι θέλουν γιατί όχι; Το VIM αφού είναι open-source δίνει μας αυτή τη δυνατότητα :-)
Έχει καλές αρχικές ρυθμίσεις. Αφού στηθεί, το VIM έχει πολύ καλές αρχικές ρυθμίσεις και defaults. Δεν χρειάζεται σχεδόν τίποτα να μπεί στο ~/.vimrc αρχείο για να ξεκινήσει κάποιος να γράφει με το VIM. Αυτό μπορεί να φαίνεται αστείο, και να πει κάποιος `σιγά μωρέ, κι εγώ έχω φτιάξει το ~/.emacs μου να είναι κουκλί', αλλά είναι πολύ σημαντικό για κάποιον που δεν ξέρει καν ότι υπάρχει το ~/.vimrc αρχείο για παραπανω ρυθμίσεις του VIM. Απλά ξεκινάει το VIM του και ξεκινά να γράφει.
Λοιπόν, ας το αφήσουμε αυτό όμως, και να δούμε πως το syntax highlighting δουλεύει στο VIM. Αργότερα (ή σε κάποιο άλλο άρθρο) θα μπορέσουμε να δούμε κι άλλα όμορφα features του VIM.
Ενεργοποιώντας το syntax highlighting
Οταν το VIM ξεκινάει, διαβάζει ένα αρχείο που λέγεται .vimrc στον HOME κατάλογο. Οι εντολές αυτού του αρχείου εκτελούνται σε ex-mode. Αυτό το ex-mode δεν είναι τίποτα περίεργο ή καινούριο. Είναι η κατάσταση που μπαίνει το VIM όταν είναι σε κατάσταση εντολών (π.χ. όταν έχουμε πατήσει ESC, ή όταν έχει αμέσως πριν ξεκινήσει), και πατήσουμε το χαρακτήρα `:'.
Το syntax highlighting ενεργοποιείται αυτόματα για τους `γνωστούς' τύπους αρχείων από το VIM αν στο .vimrc αρχείο βάλουμε την εξής απλή εντολή:
set syntax on
Αν ήδη υπάρχει syntax εντολή στο .vimrc αρχείο, αλλά έχει την τιμή off, δεν χρειάζεται να προσθέσετε άλλη μια εντολή στο αρχείο. Απλά αλλάξτε το off της εντολής σε on.
Syntax highlighting και τύποι αρχείων
Το syntax on είναι που ενεργοποιεί το syntax highlighting, και επιτρέπει στο VIM να διαλέξει αυτόματα τον κατάλληλο τύπο από χρώματα για να δείξει το αρχείο στην οθόνη μας. Αυτό σημαίνει ότι το VIM `μαντεύει' κάπως τι είναι το αρχείο από τα περιεχόμενα του, και διαλέγει αυτόματα το κατάλληλο στυλ.
Αν το στυλ που διάλεξε το VIM δεν σας κάνει ακριβώς, ή θέλετε να δείτε το ίδιο αρχείο (κάποιο μέρος του τέλος πάντων) με highlighting κάποιου διαφορετικού στυλ (παράδειγμα να δείτε με highlighting για C ένα τμήμα προγράμματος που έχετε ενσωματώσει σε ένα HTML κείμενο), μπορείτε να αλλάξετε το στυλ του syntax highlighting αλλάζοντας την τιμή της μεταβλητής syntax:
:set syntax=TYPE
όπου `TYPE' είναι κάποιο στυλ highlighting που αναγνωρίζει το VIM. Τα στυλ που αναγνωρίζει το VIM είναι εύκολο να βρεθούν. Κάθε τύπος αντιστοιχεί σε ένα αρχείο στα `κοινά' αρχεία του VIM. Αυτά υπάρχουν συνήθως στον υποκατάλογο `share/' του συστήματος αρχείων όπου έχει εγκατασταθεί το VIM. Για παράδειγμα, αν το εκτελέσιμο του VIM είναι το `/usr/bin/vim', τότε τα αρχεία που ρυθμίζουν το syntax highlighting είναι στον κατάλογο `/usr/share/vim/vim-VER/syntax'. Εδώ το `VER' είναι η έκδοση του VIM που χρησιμοποιεί τα αρχεία αυτού του υποκαταλόγου του `/usr/share/vim'. Εγώ που τώρα γράφω το άρθρο αυτό με το VIM-6.0z, τα αρχεία για syntax highlighting ξέρω ότι είναι στον κατάλογο `/usr/share/vim/vim60z/syntax'.
Τα πιο κοινά προβλήματα με το highlighting
Ερώτηση: Έχω βάλει το syntax on αλλά δεν βλέπω χρώματα. Μόνο κάτι υπογραμμίσεις και σκούρα γράμματα που κάνουν τα πράγματα χειρότερα.
Απάντηση: Ναι, το VIM είναι ένα έξυπνο πρόγραμμα. Προσπαθεί να βρει αν το τερματικό υποστηρίζει χρώματα. Αν ναι, τότε το syntax highlighting χρησιμοποιεί χρώματα για να δείξει τα διάφορα μέρη ενός αρχείου. Αν όχι, τότε χρησιμοποιεί μόνο τα bold, underline, και reverse-video attributes του τερματικού για να κάνει το syntax highlighting.
Η λύση σε αυτό το πρόβλημα είναι:
Ένα πιο καλό τερματικό, που υποστηρίζει και χρώματα. Δεν πιστεύω να εννοείτε ότι ακόμα υπάρχουν αυθεντικά VT100 τερματικά και τα χρησιμοποιείτε και για δουλειά. Όχι, όχι, δεν θα το αντέξω.
Φτιάξτε την μεταβλητή περιβάλλοντος `TERM' να έχει για τιμή το όνομα ενός τύπου τερματικού από το `termcap' σας, που να ξέρετε ότι υποστηρίζει χρώματα. Για παράδειγμα, αντί για `xterm' βάλτε το να εχει τιμή `xterm-color'.
Οι πιο πολλές εγκαταστάσεις που έχω δει είναι έτσι φτιαγμένες ώστε το XTerm όταν ξεκινάει ο τύπος τερματικού να είναι `xterm'. Δοκιμάστε το εξής αν το shell σας είναι C-shell ή συμβατό:
% set term = xterm-color
και για Bourne shells το αντίστοιχο, που είναι:
% TERM=xterm-color ; export TERM
Τότε, ξεκινήστε το VIM και δείτε αν τα χρώματα φαίνονται σωστά. Φυσικά, πρέπει στην terminfo ή στην termcap database να υπάρχει το `xterm-color' για να δουλέψει σωστά αυτό. Αν το VIM αποτύχει με κάποιο λάθος όπως:
Terminal entry not found in terminfo
`xterm-color' not known. Available builtin terminals are:
...
θα πρέπει να επικοινωνήσετε με τον system administrator σας και να του ζητήσετε να εγκαταστήσει κάποιο πιο ενημερωμένο terminfo ή termcap database, ή να σας πει ποιοι τύποι τερματικών από τους υπάρχοντες υποστηρίζουν χρώματα.
Απενεργοποιήστε το syntax highlighting. Ναι, ξέρω. Είναι ηλίθιος τρόπος να αντιμετωπιστεί το πρόβλημα, αφού εσείς θέλετε να έχετε syntax highlighting. Αλλά αν ακόμα και τώρα που διαβάσατε όλα αυτά, κάτι δεν έχετε καταλάβει, ή δείτε ότι για οποιονδήποτε λόγο το syntax highlighting δεν σας παίζει, αφήστε το προς το παρόν. Το ξαναπιάνετε λίγο αργότερα, που μπορεί να είναι πιο εύκολο να τα καταφέρετε όλα :)
Ερώτηση: Εχω ενεργοποιήσει το highlighting. Αλλά τα χρώματα δεν φαίνονται στο τερματικό μου, που έχει πολυ φωτεινό background.
Βασικά, τα χρώματα που έχουν τα προκαθορισμένα αρχεία που ορίζουν το syntax highlighting του VIM έχουν φτιαχτεί για τερματικά με σκούρο φόντο. Η κονσόλα του Linux ή του FreeBSD για παράδειγμα έχει μαύρο φόντο.
Μια λύση είναι να ξεκινήσετε το τερματικό σας με παραμέτρους που θα το κάνουν να έχει μαύρο φόντο. Στο xterm για παράδειγμα αυτό μπορεί να γίνει ξεκινώντας το με τις παραμέτρους:
% xterm -bg black -fg white
Άλλα terminal θα έχουν τις δικές τους ρυθμίσεις. Είμαι σίγουρος. Επειδή χρησιμοποιώ σχεδόν αποκλειστικά το xterm όμως, δεν θέλω να γράψω κάτι που δεν θα είμαι σίγουρος ότι γίνεται :P
Τέλος,
Αν έχετε ακολουθήσει τις οδηγίες αυτού του άρθρου ως τώρα, τότε το VIM σας είναι ήδη γεμάτο χρώματα... Καλή συνέχεια, λοιπόν, με τα κείμενα ή προγράμματα που γράφετε.
[
Next Thread |
Previous Thread |
Next Message |
Previous Message
]
| |