editor

Alejandros Diamandidis adia at egnatia.ee.auth.gr
Thu Nov 29 17:26:01 EET 2001


* Giorgos Keramidas <charon at labs.gr> [2001-11-29 05:30]:
> On 2001-11-28 20:52:32, Dimitris Mandalidis wrote:
> > 
> > Μπορεί ο vi να γράψει το ελληνικό 'δ' σε 437G χωρίς να τον πειράξεις;
> 
> Sure.  Πως νομίζεις οτι γράφω αυτό το mail?
> Το vim είναι aliased σε '/usr/local/bin/vim -b' στο .zshenv μου,

Έτσι κι αλλιώς, το -b δε χρειάζεται για το 'δ'.

Χρειάζεται μόνο να ξεπεραστούν μερικά προβληματάκια, για να μπορείς να
βλέπεις κι όλας αυτά που γράφεις. Πρώτα-πρώτα, ο vim εμφανίζει τους
ίδιους τους χαρακτήρες στο τερματικό μόνο αν το τρέχον locale του λέει
ότι είναι εκτυπώσιμοι (αλλιώς τους βγάζει σαν <ΧΧ>). Πρέπει λοιπόν να
οριστεί ένα locale με charset CP737 (επίσημο όνομα της 437G):

# localedef -ci el_GR -f cp737 el_GR.CP737

Βασικά αυτό είναι το μόνο που χρειάζεται από τη μεριά του vim για να
δουλέψει σωστά (πρέπει βέβαια να τρέξει στο locale αυτό). 

Τώρα όμως υπάρχει ένα άλλο πρόβλημα: η CP737 δεν είναι και πολύ καλή
κωδικοποίηση, γιατί βάζει εκτυπώσιμους χαρακτήρες στην περιοχή C1
(0x80-0x9F). Ειδικότερα, το 'δ' πηγαίνει και πέφτει πάνω στο CSI (0x9B)
το οποίο τα τερματικά που ακολουθούν τα σχετικά πρότυπα (ECMA-48) είναι
υποχρεωμένα να το θεωρούν χαρακτήρα ελέγχου και όχι εκτυπώσιμο. Για την
κονσόλα του Linux, υπάρχει το patch που έστειλε ο Ρικούδης. Φαντάζομαι
κάτι παρόμοιο πρέπει να γίνεται και με το xterm. Εγώ πάντως χρησιμοποιώ
μια παλιά έκδοση του rxvt (2.4.5) που δεν έχει ανάγκη από patch (δεν
ξέρω αν αυτό έχει αλλάξει στις τελευταίες εκδόσεις του). Επιπλέον έχει
και ενσωματωμένη υποστήριξη για πληκτρολόγηση ελληνικών CP737, που
νομίζω ότι χρειάζεται, γιατί το XFree86 δεν υποστηρίζει CP737.

Τα παραπάνω βέβαια δεν έχουν σχέση με τον editor.

Συμπέρασμα: Όποιος ανακατεύεται με τα πίτουρα, είναι άτυχος.

-- 
Alejandros Diamandidis * adia at egnatia.ee.auth.gr



More information about the Linux-greek-users mailing list