next up previous contents index
Next: Chiedere aiuto ad Emacs Up: Modificare file con Emacs Previous: Cercare e Sostituire

Ma che succede veramente?

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 4#4, 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 118#118 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-q8.6 è 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 4#4alla 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 77#77. Non preoccupatevi, nel peggiore dei casi vi mostrerà l'elenco dei comandi possibili, altrimenti, se siete fortunati, completerà il comando voluto.


next up previous contents index
Next: Chiedere aiuto ad Emacs Up: Modificare file con Emacs Previous: Cercare e Sostituire
Eugenia Franzoni
1998-09-29