💾 Archived View for it.omarpolo.com › articoli › pillole-di-emacs-021 captured on 2023-04-27 at 07:36:18. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-03-20)

-=-=-=-=-=-=-

021 — Pillole di Emacs: CUA mode

Qualche anno fa mi imbarcai nell'impossibile missione di far usare Emacs a dei famigliari. Per questo, mi ritrovai a giochicchiare con CUA mode per vedere se fosse possibile "trasformare" Emacs in un facsimile di un editor inferiore.

Tralasciando il fallimento della mia missione (i familiari sanno essere prevenuti...) di recente ho rivisitato la questione per cercare di convincere freezr a provare Emacs. Il risultato non è male (credo.)

(cua-mode +1)

Semplicemente questa come configurazione dovrebbe abbassare notevolmente la fatica che un neofita senza tempo da dedicare ad imparare l'editor deve fare. control-c, control-v, control-x e control-z funzionano come un utente alieno ad Emacs si aspetta, ma allo stesso tempo alcune sequenze "classiche" di Emacs, come C-x C-s per salvare, continuano a funzionare. L'euristica qui è considerare control-c e control-x come copia/taglia solo quando la "region" (come Emacs chiama la selezione) è attiva. In pratica, credo sia un buon compromesso.

Ma non finisce qui! Questo è il minimo sindacabile, un utente probabilmente proverà ad usare control-f per cercare, control-s per salvare e control-q per chiudere, tasti che su Emacs fanno tutt'altro (rispettivamente avanzare il cursore di una posizione, avviare isearch, quotare il prossimo carattere).

È possibile arginare alcune di queste "problematiche" piuttosto facilmente grazie alla malleabilità dell'editor; ad esempio per salvare con control-s

(define-key global-map (kbd "C-s") #'save-buffer)

o chiudere con control-q

(define-key global-map (kbd "C-q") #'save-buffers-kill-emacs)

cercare con control-f è leggermente più complesso

(define-key global-map (kbd "C-f") #'isearch-forward)
(define-key isearch-mode-map (kbd "C-f") #'isearch-repeat-forward)

Questo permette di usare control-f per avviare isearch (la ricerca di Emacs) e di poter continuare a premere control-f per andare ai prossimi match. control-r di default fa una ricerca all'indietro, oppure salta al match precedente.

Personalmente non credo che l'uso di CUA mode sia da suggerire troppo: Emacs richiede del tempo da dedicargli e, scherzi a parte, le combinazioni di tasti hanno senso per la maggior parte, però non sempre si può avere del tempo da dedicargli, e in caso è comunque facile adattare Emacs alle proprie esigenze. In ogni caso non è troppo diverso da usare evil-mode (fight me!)

P.S.: I lettori più astuti potranno suggerire di usare `global-set-key' ma personalmente preferisco la leggera verbosità di `define-key': è più chiaro quale keymap si va a modificare.

$BlogIt: index.gmi,v 1.2 2023/03/05 16:14:44 op Exp $