programmers text editor

Neon Absentius absent at sdf.lonestar.org
Sat Oct 8 04:16:35 EEST 2005


On Fri, Oct 07, 2005 at 11:31:55AM +0300, Nick Demou (enLogic) wrote:
> >1) ...   Έχει την εντολή
> >   query-replace-regexp (default πλήκτρο το C-M-%) με την οποία σου
> 
> δεν κατάφερα να πετύχω το C-M-%, και με ctrl-alt-5 και με 
> ctrl-alt-shift-5 καταλήγει να αναφέρει κάτω C-M-5
> ευτηχώς ήξερα το M-x command και το δοκίμασα έτσι - φυσικά έπεξε μια 
> χαρά. Εκανα το κόλπο με το global-set-key και έτσι δεν χρειάζεται να 
> παιδευομε άλλο! Ευχαριστώ Ν.Α. η απάντηση σου ήταν πολύ πλήρης και 
> κατατοπιστική
> 

Περίεργο.  Δεν ξέρω τι φταίει.  Μήπως ο window manager σου «τρώει»
το πλήκτρο; (μήπως δηλαδή το δεσμεύει σε κάποια άλλη εντολή);
Συμβαίνει αυτό σε X-window ή τρέχει ο Εμάξ σε κάποιο terminal
emulator ή κονσόλα;  Μπορείς να κάνεις το "query-replace" πατώντας 
απλά "M-%" δλδ (Meta + Shift + 5);

Κι εγώ είχα κάποια προβλήματα με πολλούς window managers που τους
αρέσει να δεσμεύουν το Alt + <some key>.  Η λύση που βρήκα είναι
λίγο ριζοσπαστική αλλά αξίζει τον κόπο ΚΤΤΓΜ (Κατά Τη Γνώμη Μου).
Στο σύστημά μου, άλλο Meta, άλλο Alt.  Χρησιμοποιώ το xmodmap και
δεσμέυω το Meta στο windows key, αφήνοντας το Alt στη διάθεση του
window manager.

Σχεδόν πάντα πάντως μπορείς να χρησιμοποιήσεις το ESC αντί για το 
Meta. Αν δλδ πατήσεις το ESC, το αφήσεις, και μετά πατήσεις ένα 
άλλο πλήκτρο, ας πούμε x, αυτό είναι ισοδύναμο με M-x.  Ή στην 
περίπτωσή σου μπορείς να πατήσεις ESC και μετά C-%.

Στο προηγούμενο μήνυμά σου ρώτησες και για search and replace σε
πολλαπλά αρχεία.  Ο Εμάξ έχει κι από αυτό.  Υπάρχουν δύο τρόποι 
που ξέρω.  Ο "low tech" είναι να χρησιμοποιήσεις τη dired mode: 
Αν όλα τα αρχεία σου είναι στον ίδιο directory ανοιξε τον
χρησιμοποιώντας την εντολή "C-x d" (= "M-x dired"), μάρκαρε τα
αρχεία που θέλεις (πάνε στην γραμμή του καθενός και χτύπα "m") 
και αφού τα μαρκάρεις πάτα Q.  

Ο «σωστός τρόπος» πάντως είναι να χρησιμοποιήσεις tags.  Αυτό είναι 
πιο περίπλοκο, αλλά αν χρησιμοποιείς τον Εμάξ για να γράφεις μεγάλα 
προγράμματα που πιάνουν πολλά αρχεία αξίζει τον κόπο να το μάθεις. 
Δες το online-manual

(info "(emacs) tags") <---- Χτύπα C-x C-e εδώ (ενώ είσαι στον Εμαξ βέβαια).

> (ΚΤΟΚΤΤΜΓ ? Και Την Ομορφότερη Κόρη Του Τάσου 
> Μην Γυρέυεις?)

:))

Κατά Την Όχι Και Τόσο Ταπεινή Μου Γνώμη.

> ---- 8< κοψ-κοψ
> >
> >   Δοκίμασε "M-x cua-mode".
> >
> ---- 8< κοψ-κοψ
> Στα αλήθεια θέλω να μάθω πως γίνετε γιατί έχω emacs21 
> (apt-get install emacs22 εβγαλε σφάλμα στο ubuntu)
> 

Ναι μαλακία μου που δεν εξήγησα.  Ο Emacs22 δεν έχει κυκλοφορήσει
ακόμα επίσημα.  Είναι η επόμενη version. Για να τον εγκαταστήσεις
πρέπει ή να τον κάνεις compile μόνος σου από το CVS ή να
προσπαθήσεις να βρεις ανεπίσημα πακέτα.  Εγώ είμαι τεμπέλης και
χρησιμοποιώ έτοιμα πακέτα για την multi-tty-version του Emacs22.
Δουλεύουν στο Debian testing/unstable αλλά δεν είμαι σίγουρος αν
δουλεύουν στο ubuntu (λογικά δεν πρέπει να υπάρχει πρόβλημα).  Για
να εγκαταστήσεις αυτή τη βέρσιον πρέπει πρώτα να πεις στο apt που να
τα βρει.  Πρόσθεσε τις εξείς γραμμές στο /etc/apt/sources.lists (ή
το αντίστοιχο αρχείο στο ubuntu.)

# Multi-tty Emacs
deb http://aszt.inf.elte.hu/~lorentey/mirror/apt unstable multi-tty
deb-src http://aszt.inf.elte.hu/~lorentey/mirror/apt unstable multi-tty

μετά δώσε την εντολή 

# apt-get update 

και 

# apt-get install emacs-multi-tty

Γενικά πάτως είναι καλή ιδέα να ξέρεις πως να εγκαταστήσεις πακέτα
για τον emacs.  Το παρακάτω είναι η δικός μου τρόπος, προτιμώ να
βάζω τα έξτρα στο home μου για ευκολότρο maintenance.  Λοιπόν αν
θέλεις να εγκαταστήσεις το πακέτο cua.el κάνε τα εξής:

$ mkdir ~/elisp
$ cd ~/elisp
$ wget http://www.cua.dk/cua.el

Μετά άνοιξε ένα Emacs και κάνε τα εξής 

M-x byte-compile-file RET ~/elisp/cua.el RET

μετά που θα τελειώσει το compilation, ανοιξε το .emacs σου 
και πρόσθεσε τις εξής γραμμές, ας πούμε στην αρχή του αρχείου:

;; Add "~/elisp" to the load path.
(setq load-path (cons "~/elisp" load-path))

;; Enable the windoze key-bindings
(require 'cua)
(CUA-mode t)

Σώσε το αρχείο.  Τώρα την επόμενη φορά που θα ξεκινήσει ο Εμαξ θα
ξέρει την cua-mode.  Για να μπορείς να τη χρησιμοποιείς χωρίς να
χρειαστεί να κλείσεις και να ξανανοίξεις τον emacs μπορείς να πάς
στο τέλος κάθε μιας από τις γραμμές που δεν είναι comment,
ξεκινώντας με την πρώτη, πάνε στο τέλος της γραμμής αμέσως μετά την
τελευταία παρένθεση και χτύπα C-x C-e.  Παρόμοια μπορείς να
εγκαταστήσεις και οποιοδήποτε άλλο πακέτο για τον emacs.  Αν
ανοίξεις το σχετικό .el αρχείο μπορείς να διαβάσεις τα αρχικά 
σχόλια για την χρήση του.

Δεν έχω δοκιμάσει τίποτα από τα παραπάνω.  Όπως θα έχεις ήδη συνάγει
δεν χρησιμοποιώ την CUA-mode.  Συνεπώς YMMV (You Mileage May Vary).

> >
> >Ένα επίσης βασικό advantage του Εμαξ, ΚΤΤΤΜΓ, είναι το online
> >documentation.  Δοκίμασε "C-h i" και μετά "m emacs".
> 
> τρομακτικά μεγάλο όμως για τον αρχάριο. Αυτό που θα ήθελα να μάθω είναι 
> ένα τρόπο για search μέσα στο help (για την ώρα χρησοιμοποιώ το goodle 
> με την παράμετρο site:)

Οι βασικές εντολές για search σε info mode είναι s που ψάχνει το
κείμενο και i που ψάχνει τον index.  Το κόμμα σε πάει στο επόμενο
match.  Ίσως να αξίζει τον κόπο να αφιερώσεις κάποιο χρόνο στο πως 
μπορείς να διαβάσεις τα info manuals.  Το info είναι ένα πλήρες
σύστημα hypertext.  Δες εδώ

(info "info") <--- C-x C-e here.
 

> >
> >ΥΓ: Παρακαλώ ας λείπουν τα «δεν θέλω να αρχίσω flame αλλά» κλπ.
> >

Αυτό δεν πήγαινε για σένα.

> σε έναν τριανταπεντάρη 

Έλα μωρέ σιγά.  Πως τόλεγε το τραγούδι, ο τριανταπεντάρης ίσον με
δύο δεκαεφταμισάρηδες ή κάτι τέτοιο.

> Εν κατακλείδι: "ναι αλήθεια δεν ήθελα να αρχίσω flame wars και ναι 
> αλήθεια δεν είναι τυχαίο που δεν συμετέχω σε κάνενα 

Ναί σε πιστεύω.

-- 
 There is no national science just as there is no national
multiplication table; what is national is no longer science.
         -- Anton Checov




More information about the Linux-greek-users mailing list