Μαθαίνοντας τον Emacs/Προσαρμογή
Αρχεία ρυθμίσεων
[επεξεργασία]Το κεντρικό αρχείο ρυθμίσεων είναι το ~/.emacs.d/init.el
Είναι χρήσιμο να γνωρίζουμε πως να ξεκινάμε τον emacs με ένα διαφορετικό ή ακόμα και κενό αρχείο ρυθμίσεων. Ενδέχεται πχ να έχουμε φορτώσει αρκετά τo init.el προς μία γλώσσα και να μην ταιριάζει πλεον για άλλες γλώσσες.
Οπότε μπορούμε να εκκινήσουμε τον emacs με άλλο αρχείο ρυθμίσεων:
$ emacs -q -l ~/.emacs.d/myinit.el
Η εκκίνηση του emacs με το προκαθορισμένα του χρώματα και ρυθμίσεις βοηθάει την ψυχολογία μας μερικές φορές !
Αλλαγή γραμματοσειράς
[επεξεργασία]Για προσωρινή αλλαγή
[επεξεργασία]Έχοντας ενεργό το παράθυρο του emacs κρατόντας πατημένο το shift πατάμε το αριστερό πλήκτρο του ποντικίου και αφήστε το . Θα εμφανιστεί ένα μενού από το οποίο μπορείτε να επιλέξτε γραμματοσειρά. Ή από e μενού Options->Set Font/Fontset. Εναλλακτικά δίνεται την εντολή M-x mouse-set-font.
Για μόνιμη αλλαγή
[επεξεργασία]Διαβάστε εδώ : wiki set default font
Επίσης δοκιμάστε: Γραμμή μενού -> options -> customize emacs -> specific face -> customize face (default all faces): [enter] - Θα εμφανιστεί μια μεγάλη λίστα με faces. Κυλίστε τα περιέχομενα μέχρι να δείτε το Default . Πατήστε το Show Face κουμπί αλλάξτε τις παραμέτρους του και κατοπιν πατήστε το κουμπί State και Save for Future session. Παρόμοια στο πατήστε το κουμπί Save for Future Sessions και στο πάνω μέρος της λίστας. Προσέξτε να μην έχετε ανοιχτό το αρχείο ρυθμίσεων .emacs καθότι δεν θα αποθηκευτούν οι αλλαγές με το πάτημα του Save for future sessions.
Εναλλακτικά: Γραμμή μενού -> options -> Set default font , διαλέγουμε γραμματοσειρά και μετά για να ισχύουν οι αλλαγές μας και στο μέλλον Γραμμή μενού -> options -> Save Options
Γραμματοσειρά ανά πλαίσιο (frame)
[επεξεργασία]Αν θέσουμε την προκαθορισμένη γραμματοσειρά με τους τρόπους που αναφέραμε θα παρατηρήσουμε οτι νέα πλαίσια δεν επηρεάζονται.
Η λύση είναι να προσθέσετε στο ~/.emacs.d/.init.el τη γραμμή:
(add-to-list 'default-frame-alist '(font . "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"))
Αν έχετε ήδη θέσει τη γραμματοσειρά στο αρχικό πλαίσιο και θέλετε να μάθετε το πλήρες όνομα για τα το χρησιμοποιήσετε στο init.el χρησιμοποιήστε την εντολή:
C-u C-x =
Γενικά για τις γραμματοσειρές σχετικά με τον emacs διαβάστε και τη σελίδα από το επίσημο εγχειρίδιο του emacs.
Για κατανόηση του ζήτηματος σε βάθος διαβάστε και το παρακάτω νήμα που ξεκίνησα στη λίστα help-gnu-emacs
Is Default face a per frame attribute or a global one?
Αλλαγή χρωματικού θέματος
[επεξεργασία]Με τον όρο αυτό αναφέρομαι κυρίως στην αλλαγή των χρωμάτων του υποβάθρου και της γραμματοσειράς καθώς και του συντακτικού χρωματισμού.
Από τις σημαντικότερες ρυθμίσεις είναι και αυτή του θέματος, αφού κάποια θέματα είναι κουραστικά για τα μάτια μας ή εκνευριστικά για τα γούστα μας.
Σε εκδόσεις >= 24
[επεξεργασία]Στον emacs 24 ενσωματώθηκε η λειτουργικότητα χρωματικού θέματος μέσω του deftheme .[1].
Ενσωματωμένα θέματα
[επεξεργασία]Ο emacs 24 περιλαμβάνει μια συλλογή από ενσωματωμένα θέματα από τα οποία μπορούμε να επιλέξουμε. Για να επιλέξουμε κάποιο από αυτά:
M-x load-theme (η συμπλήρωση tab είναι διαθέσιμη).
Για να κάνουμε μόνιμη την αλλαγή προσθέτουμε στο init.el :
(load-theme 'misterioso t)
Για το συντακτικό καλούμε την βοήθεια του emacs με C-h f load-theme
Λήψη εξωτερικών θεμάτων
[επεξεργασία]Τα διαθέσιμα θέματα είναι λίγα σχετικά μπορούμε όμως να τα εμπλουτίσουμε από ένα αποθετήριο. Πχ το melpa αποθετήριο έχει αρκετά θέματα: heroku-theme
M-x customize-themes
Είναι σημαντικό να έχουμε υπόψη ότι δεν υπάρχει η έννοια του τρέχοντος θέματος στον emacs24. Μπορούμε μάλιστα να έχουμε πολλά θέματα τα οποία εφαρμόζονται με σειρά και προσθετικά καθορίζουν το σύνολο των ενεργών faces. Σχετική και η επιλόγή 'Select more than one themes at a time'
που εμφανίζεται με 'M-x customize-themes'
Οπότε όταν ενεργοποιούμε ένα θέμα δεν 'αλλάζουμε σ'αυτό' αλλά εφαρμόζουμε τις αλλαγές που καθορίζει στα faces που περιλαμβανει.
Ποιό είναι το κατάλληλο χρωματικό θέμα
[επεξεργασία]Σε εκδόσεις <= 23
[επεξεργασία]Στις εκδόσεις <= 23 μπορούμε να έχουμε χρωματικά θέματα με την εγκατάσταση του πακέτο emacs-goodies-el (υπάρχει και σε ubuntu και σε debian [2]) που περιέχει και το color-theme. Κάνουμε επανεκκίνηση και μπορούμε πλεον με
M-x color-theme-select RET
να εμφανιστεί μια λίστα με διαθέσιμα θέματα και να επιλέξουμε ποιό θέλουμε. Πατώντας ENTER κάνουμε προεπισκόπηση ενός θέματος.
Εφόσον καταλήξουμε σε ένα θέμα που προτιμάμε μπορούμε να το κάνουμε προκαθορισμένο κατά την εκκίνηση του emacs προσθέτωντας την παρακάτω εντολή στο αρχείο .emacs [3]:
(require 'color-theme)
(color-theme-initialize)
(color-theme-όνομα-θέματος)
Όμως υπάρχει διαφορά (δυστυχώς) ανάμεσα στο όνομα ενός θέματος που θα εμφανιστεί στη λίστα και το όνομα που πρέπει να χρησιμοποιήστε στην κλήση της σχετικής συνάρτησης. Έτσι το Linh Dang Dark αντιστοιχεί στο ld-dark. Μπορείτε να δείτε μια λίστα με όλες τις σχετικές color-theme-* συναρτήσεις και στη λίστα αυτή θα βρείτε τα ονόματα που πρέπει να χρησιμοποιήσετε.
Αν όμως θέλουμε την ώρα που επιλέγουμε ένα θέμα στη λίστα να δούμε και το όνομα της στην συνάρτηση μπορούμε να το κάνουμε ως εξής: C-h v var <RET> μπορούμε να εμφανίσουμε λίστα μεταβλητών σχετικες με τα χρωματικά θέματα που αρχίζουμε με color-theme . Aυτό το καταφέρνουμε με τη βοήθεια αυτόματης συμπλήρωσης. Από τις μεταβλητές αυτές μας ενδιαφέρει η color-theme-history-max-length . Η προκαθορισμένη της τιμή είναι 0. Δίνωντας της όμως μια μεγαλύτερη τιμή δημιουργείται ιστορικό όπου καταγράφεται η πληροφορία των ονομάτων των θεμάτων που ενεργοποιήσαμε στο παρελθόν, κάτι που μπορούμε να χρησιμοποιήσουμε στην αρχική λίστα θεμάτων προκειμένου να βρούμε το όνομα που θα χρησιμοποιηθεί στην συνάρτηση στο .emacs αρχείο. M-x set-variable <RET> color-theme-history-max-length <RET> XX <RET>. Όπου XX η τιμή που θα δώσουμε στο ιστορικό. Και κατόπιν μετά από κάθε αλλαγή στο θέμα μπορούμε με την εντολή C-h v color-theme-history να δούμε το ιστορικό της αλλαγής θεμάτων όπου υπάρχει το όνομα που μπορούμε να χρησιμοποιήσουμε και στο .emacs για να κάνουμε μόνιμη την αλλαγή που θέλουμε.
Αν βαριέστε να κάνετε όλα τα παραπάνω τότε σαν γενικό κανάνο εφαρμόστε τον εξής: Όπου όνομα θέματος θα είναι αυτό που βλέπετε στη λίστα αλλά χωρίς κεφαλαία και με το χαρακτήρα '-' όπου υπάρχει κενό ανάμεσα σε λέξεις.
Παραπομπές
[επεξεργασία]