Comandi emacs
traduzione e trasposizione in reST del documento ``GNU Emacs Reference Card (for version 21)``
Documento derivato dalla Reference Card di GNU Emacs it-refcard.tex per la versione 21 di Emacs
Lancio di Emacs
Per eseguire GNU Emacs 21, basta digitarne il nome: emacs
Per aprire un file, vedi File, qui sotto.
Uscire da Emacs
| sospendi Emacs (o minimizzalo, sotto X) | C-z |
| esci definitivamente da Emacs | C-x C-c |
File
| apri un file dentro Emacs | C-x C-f |
| salva un file sul disco | C-x C-s |
| salva tutti i file | C-x s |
| inserisci un altro file in questo buffer | C-x i |
| riapri il file che vuoi nel buffer | C-x C-v |
| salva il buffer nel file specificato | C-x C-w |
| version control checkin/checkout | C-x C-q |
Ottenere Aiuto
Il sistema di aiuto è semplice: usa C-h (o F1) e segui le indicazioni. Se sei alla prima esperienza, con C-h t accedi al tutorial.
| rimuovi la finestra di aiuto | C-x 1 |
| scrolla la finestra di aiuto | C-M-v |
| apropos: mostra i comandi simili a una stringa | C-h a |
| mostra la funzione eseguita da dei tasti | C-h c |
| descrivi una funzione | C-h f |
| mostra le informazioni sulla modalità corrente | C-h m |
Recupero Errori
| annulla un comando inserito parz. o lanciato | C-g |
| recupera un file perso dopo un crash | M-x recover-file |
| annulla una modifica non desiderata | C-x u o C-_ |
| ripristina il contenuto originale del buffer | M-x revert-buffer |
| ridisegna la schermata | C-l |
Ricerca Incrementale
| cerca in avanti | C-s |
| cerca indietro | C-r |
| cerca una espressione regolare | C-M-s |
| cerca una espressione regolare all'indietro | C-M-r |
| seleziona la stringa di ricerca precedente | M-p |
| seleziona la stringa di ricerca successiva | M-n |
| termina la ricerca incrementale | RET |
| annulla l'effetto dell'ultimo carattere | DEL |
| annulla la ricerca corrente | C-g |
Usa C-s o C-r di nuovo per ripetere la ricerca in una delle due direzioni. Se Emacs sta ancora cercando, C-g annulla solo la parte ancora da fare.
Movimenti
| entità su cui spostarsi | indietro | avanti |
|---|---|---|
| carattere | C-b | C-f |
| parola | M-b | M-f |
| linea | C-p | C-n |
| inizio o fine riga | C-a | C-e |
| frase | M-a | M-e |
| paragrafo | M-{ | M-} |
| pagina | C-x [ | C-x ] |
| espressione tra parentesi | C-M-b | C-M-f |
| funzione | C-M-a | C-M-e |
| inizio o fine del buffer | M-< | M-> |
| vai alla prossima schermata | C-v |
| vai alla schermata precedente | M-v |
| scroll a sinistra | C-x < |
| scroll a destra | C-x > |
| porta la riga corrente al centro dello schermo | C-u C-l |
Rimozione e Cancellazione
| entità da rimuovere | indietro | avanti |
|---|---|---|
| carattere (cancellazione, non rimozione) | DEL | C-d |
| parola | M-DEL | M-d |
| linea (fino alla fine) | M-0 C-k | C-k |
| frase | C-x DEL | M-k |
| espressione tra parentesi | M-- | C-M-k |
| rimuovi la regione | C-w |
| copia la regione nel kill ring | M-w |
| rimuovi fino al prossimo carattere | M-z carattere |
| inserisci l'ultima cosa rimossa | C-y |
| sostituiscila con quella precedente | M-y |
Marcatura
| posiziona qui il marcatore | C-@ o C-SPC |
| scambia le posizione del cursore e del marcatore | C-x C-x |
| seleziona le successive N parole | M-@ |
| seleziona il paragrafo | M-h |
| seleziona la pagina | C-x C-p |
| seleziona l'espressione tra parentesi | C-M-@ |
| seleziona la funzione | C-M-h |
| seleziona tutto il buffer | C-x h |
Sostituzione Interattiva
| sostituisci interattivamente una stringa letterale | M-\% |
| con una espressione regolare | M-x query-replace-regexp |
Le possibili scelte nella modalità interattiva sono:
| sostituisci questo, procedi col prossimo | SPC |
| sostituisci questo, senza spostarti | , |
| salta al prossimo senza sostituire nulla | DEL |
| sostituisci tutte i successivi match | ! |
| torna al match precedente | ^ |
| termina la sostituzione | RET |
| vai in edit ricorsivo | C-M-c per uscire C-r |
Finestre Multiple
Quando sono indicati due comandi, il secondo si riferisce al altro frame.
| elimina tutte le altre finestre | C-x 1 | ||
| dividi la finestra, sopra e sotto | C-x 2 | C-x 5 2 | |
| elimina questa finestra | C-x 0 | C-x 5 0 | |
| dividi la finestra, fianco a fianco | C-x 3 | ||
| scrolla l'altra finestra | C-M-v | ||
| sposta il cursore nell'altra finestra | C-x o | C-x 5 o | |
| seleziona un buffer nell'altra finestra | C-x 4 b | C-x 5 b | |
| mostra un buffer nell'altra finestra | C-x 4 C-o | C-x 5 C-o | |
| apri un file nell'altra finestra | C-x 4 f | C-x 5 f | |
| apri un file solo lettura nell'altra finestra | C-x 4 r | C-x 5 r | |
| esegui Dired nell'altra finestra | C-x 4 d | C-x 5 d | |
| trova un tag nell'altra finestra | C-x 4 . | C-x 5 . | |
| aumenta l'altezza della finestra | C-x ^ | ||
| diminuisci la larghezza della finestra | C-x { | ||
| allarga la finestra | C-x } |
Formattazione
| indenta linea corrente (mode-dependent) | TAB |
| indenta regione (mode-dependent) | C-M-\\ |
| indenta sexp (mode-dependent) | C-M-q |
| indenta rigidamente regione arg caratteri | C-x TAB |
| inserisci una nuova linea dopo il point | C-o |
| muovi il resto della linea verticalmente in giù | C-M-o |
| cancella le linee vuote prima e dopo il point | C-x C-o |
| unisci la linea con le precedenti (arg, successiva) | M-^ |
| cancella gli spazi bianchi vicini al point | M-\\ |
| inserisci uno spazio esattamente al point | M-SPC |
| ricomponi il paragrafo | M-q |
| imposta la larghezza del testo (caratteri/riga) | C-x f |
| imposta il prefisso con cui iniziare ogni linea | C-x . |
| imposta lo stile | M-g |
Maiuscole e Minuscole
| rendi maiuscola la parola | word M-u |
| rendi minuscola la parola | word M-l |
| rendi maiuscola la prima lettera della parola | word M-c |
| rendi maiuscola la regione | C-x C-u |
| rendi minuscola la regione | C-x C-l |
Il Minibuffer
Nel minibuffer sono definite le seguenti chiavi:
| completa il più possibile | TAB |
| completa una parola | SPC |
| completa ed esegui | RET |
| mostra i possibili completamenti | ? |
| torna il precedente inserimento nel minibuffer | M-p |
| torna l'ultimo inserimento nel minibuffer o il default | M-n |
| ricerca una espressione all'indietro nella history | M-r |
| ricerca una espressione in avanti nella history | M-s |
| annulla l'ultimo comando | C-g |
Premi C-x ESC ESC per modificare e ripetere l'ultimo comando usato nel minibuffer. Premi F10 per attivare il menu del minibuffer.
I Buffer
| seleziona un altro buffer | C-x b |
| elenca tutti i buffer | C-x C-b |
| elimina un buffer | C-x k |
Trasposizioni
| trasponi caratteri | C-t |
| trasponi parole | M-t |
| trasponi linee | C-x C-t |
| trasponi espressioni | C-M-t |
Controllo ortografico
| Controllo ortografico della parola | M-$ |
| Controllo ortografico delle parole della regione | M-x ispell-region |
| Controllo ortografico dell'intero buffer | M-x ispell-buffer |
I Tag
| trova un tag (una definizione, un marcatore) | M-. |
| trova la prossima ricorrenza del tag | C-u M-. |
| specifica una nuova tabella (file) di tag | M-x visit-tags-table |
| ricerca con una espressione su tutti i file dei tag | M-x tags-search |
| esegui una query-replace su tutti i file | M-x tags-query-replace |
| continua la ricerca dei tag o la query-replace | M-, |
Le Shell
| esegui un comando della shell | M-! |
| applica un comando della shell alla regione | M-| |
| filtra la regione con un comando della shell | C-u M-| |
| avvia una shell in una finestra shell | M-x shell |
I Rettangoli
| copia il rettangolo in un registro | C-x r r |
| elimina il rettangolo | C-x r k |
| incolla il rettangolo | C-x r y |
| apri un rettangolo, slitta il testo a destra | C-x r o |
| svuota il rettangolo | C-x r c |
| metti un prefisso a ogni linea di una stringa | C-x r t |
Abbreviazioni
| aggiungi un'abbreviazione globale | C-x a g |
| aggiungi un'abbreviazione locale | C-x a l |
| aggiungi un'espansione globale per questa abbreviazione | C-x a i g |
| aggiungi un'espansione locale per questa abbreviazione | C-x a i l |
| espandi esplicitamente l'abbreviazione | C-x a e |
| espandi dinamicamente la parola precedente | M-/ |
Espressioni regolari
| qualsiasi singolo carattere eccetto una newline | . |
| zero o più ripetizioni | * |
| una o più ripetizioni | + |
| zero o una ripetizione | ? |
| quota un carattere speciale di una espressione | c |
| o alternativo | \| |
| raggruppamento | \( ... \) |
| lo stesso testo come | n\ |
| all'interruzione della parola | \b |
| non all'interruzione della parola | \B |
| entità da rintracciare | primo elemento | ultimo elemento |
|---|---|---|
| linea | ^ | $ |
| parola | \< | \> |
| buffer | \` | \' |
| classi di caratteri | includi | escludi |
|---|---|---|
| set esplicito | [ ... ] | [^ ... ] |
| caratteri word-syntax | \w | \W |
| caratteri con syntax c | \s c | \S c |
Set di caratteri internazionali
| specifica il linguaggio principale | M-x set-language-environment |
| elenca tutti i metodi di input | M-x list-input-methods |
| abilita o disabilita un metodo di input | C-\\ |
| imposta il sistema di codifica per comando successivo | C-x RET c |
| elenca tutti i sistemi di codifica | M-x list-coding-systems |
| scegli il sistema di codifica che preferisci | M-x prefer-coding-system |
Info
| apri il lettore per i documenti Info | C-h i |
| trova una funzione o una variabile in Info | C-h C-i |
Movimenti all'interno di un nodo:
| scorri in avanti | SPC |
| scorri all'indietro | DEL |
| vai all'inizio del nodo | . |
Movimenti tra nodi:
| prossimo nodo | n |
| nodo precedente | p |
| muovi in su | u |
| seleziona un elemento per nome | m |
| seleziona l'elemento n del menu (di numero 1--9) | n |
| segui il riferimento incrociato (return with l) | f |
| ritorna all'ultimo nodo visitato | l |
| ritorna alla directory del nodo | d |
| vai a qualsiasi nodo per nome | g |
Altro:
| lancia il tutorial per Info | h |
| esci da Info | q |
| cerca i nodi con una espressione | M-s |
Registri
| salva la regione in un registro | C-x r s |
| inserisci il contenuto di un registro nel buffer | C-x r i |
| salva il valore del point in un registro | C-x r SPC |
| vai al point salvato nel registro | C-x r j |
Macro da tastiera
| inizia la definizione di una macro da tastiera | C-x ( |
| termina la definizione di una macro da tastiera | C-x ) |
| esegui l'ultima macro definita | C-x e |
| aggiungi all'ultima macro | C-u C-x ( |
| da un nome all'ultima macro definita | M-x name-last-kbd-macro |
| inserisci una definizione Lisp nel buffer | M-x insert-kbd-macro |
Comandi Lisp contenuti in Emacs
| calcola l'espressione che precede il point | C-x C-e |
| calcola la selezione currente | C-M-x |
| calcola la regione | M-x eval-region |
| leggi e calcola il minibuffer | M-: |
| load from standard system directory | M-x load-library |
Semplice personalizzazione
| personalizza variabili e stili | M-x customize |
Impostare chiavi globali con Lisp in Emacs (esempi):
(global-set-key "\\C-cg" 'goto-line) (global-set-key "\\M-\#" 'query-replace-regexp)
Comandi di scrittura
(defun \<command-name> (\<args>) "\<documentation>" (interactive "\<template>") \<body>)
Un esempio:
(defun this-line-to-top-of-window (line)
"Reposition line point is on to top of window.
With ARG, put point on line ARG."
(interactive "P")
(recenter (if (null line)
0
(prefix-numeric-value line))))
L'istruzione interactive specifica come leggere interattivamente gli argomenti. Premi C-h f interactive per ulteriori dettagli.