In realtà, le combinazioni di tasti che avete imparato sono
scorciatoie per delle funzioni di Emacs. Per esempio, C-p è un modo
breve per
dire a Emacs di eseguire la funzione interna previous-line (linea
precedente). Tutte queste funzioni interne possono essere
richiamate anche
per nome, usando M-x; se vi dimenticate che previous-line è
associata a C-p, potete semplicemente digitare M-x previous-line
, e vi muoverete verso l'alto di una linea. Provatelo adesso, per capire
come M-x previous-line e C-p sono realmente la stessa cosa.
Chi ha progettato Emacs è partito dalla base, definendo prima un intero set di funzioni interne, e poi associando delle combinazioni di tasti a quelle più utilizzate. A volte è più semplice richiamare esplicitamente una funzione con M-x invece di ricordarsi a quale tasto è associata. La funzione query-replace, per esempio, è associata in alcune versioni di Emacs a M-%. Ma come si fa a ricordarsi una combinazione così strana? A meno che non usiate molto spesso cerca-sostituisci, è più semplice richiamarla con M-x.
La maggior parte dei tasti che digitate sono lettere, che devono essere nel testo del buffer; quindi ognuno di questi tasti è associato alla funzione self-insert-command, che non fa nient'altro che inserire quella lettera nel buffer. Le combinazioni che usano il tasto con una lettera generalmente sono associate a funzioni che fanno altre cose, come lo spostamento. Per esempio, C-v è associato alla funzione chiamata scroll-up, che fa scorrere il buffer in alto di una schermata (in modo che la vostra posizione nel buffer si sposta in basso, naturalmente).
Se volete inserire un carattere Control nel buffer, come
potete
fare? Dopo tutto, i caratteri Control sono caratteri ASCII,
anche se vengono
usati raramente, e potreste doverli
inserire in un file. C'è un modo per evitare che Emacs interpreti i
caratteri Control come comandi: il
tasto C-q
è associato ad una funzione speciale
chiamata
quote-insert. Tutto quello che fa quote-insert è leggere il
tasto seguente ed inserirlo letteralmente nel buffer, senza tentare
di
interpretarlo come comando. Questo è il modo per inserire caratteri Control
nei file con Emacs. Naturalmente per inserire un C-q bisogna premere
C-q due volte!
Emacs ha anche molte funzioni che non sono associate a nessun tasto. Per
esempio, se state scrivendo un messaggio lungo, non dovete
premere
alla fine di ogni linea; potete farlo fare ad Emacs
(gli si può far fare qualsiasi cosa)--il comando per farlo è
auto-fill-mode, ma non è normalmente associato a nessun tasto. Per
richiamare questo comando è sufficiente digitare ``
M-x auto-fill-mode''.
``M-x'' è il tasto usato per richiamare le funzioni per
nome. Potete
usarlo anche per richiamare funzioni come next-line e
previous-line, ma sarebbe molto poco efficiente, dato che già sono
associate a C-n e C-p!
Ad ogni modo, se guardate la riga di stato dopo aver richiamato auto-fill-mode, noterete che è stata aggiunta la parola ``Fill'' sul lato destro. Fintanto che rimane lì, Emacs suddividerà automaticamente il testo in linee. Potete sospendere questa funzione premendo nuovamente `` M-x auto-fill-mode''--è un comando di commutazione.
Il lato negativo di digitare lunghi nomi di funzioni nel minibuffer è minimo, dato che Emacs completa i nomi delle funzioni nello stesso modo che i nomi dei file, quindi raramente vi capiterà di dover scrivere per intero il nome della funzione. Se non siete sicuri se potete usare il completamento automatico, premete . Non preoccupatevi, nel peggiore dei casi vi mostrerà l'elenco dei comandi possibili, altrimenti, se siete fortunati, completerà il comando voluto.