EDITING DEI COMANDI

Per la correzione di errori di battitura sia nella shell che durante l'input dei programmi generalmente funzionano i seguenti tasti:

CTL-h o tasto BACKSPACE ritorno carattere
CTL-u annullamento di riga

Poiché un kernel time-sharing gestisce l'input è possibile la battitura anticipata.

Il comando stty(1) (set terminal options) permette di settare le opzioni del terminale:

$ stty erase \#
(setta # come car. di erase)
$ stty kill @
(setta @ come car. di kill)
$ stty -crterase
(local settings, estensione GNU)
$ cat
(ora provateli)

Estensione Linux/FreeBSD:

per i programmi e le shell (generalmente la bash) che usano la libreria readline viene offerta avanzata capacità di editing tramite i tasti standard di emacs, che rimangono gli stessi indipendentemente dai settings del terminale. Si noti come le combinazioni di CTL per lo spostamente e la modifica agiscono su caratteri, quelle di ALT (detto anche META) su intere parole.

Comandi emacs di spostamento:

CTL-f car. successivo (come freccia dx)
CTL-b car. precedente (come freccia sx)
ALT-f parola successiva
ALT-b parola precedente
CTL-a inizio riga
CTL-e fine riga

Comandi emacs di modifica:

CTL-d cancella car. corrente (come del)
CTL-h cancella car. precedente (come backspace)
CTL-t inverte car. precedente e corrente
ALT-t inverte parola precedente e corrente
ALT-u maiuscolizza parola
ALT-l minuscolizza parola
ALT-c minuscolizza parola, ma iniziale maiuscola
CTL-v inserisce car. speciale

Esempio d'uso di CTL-t:

$ ehco
(posizionarsi sulla c)
$ echo
(premere CTL-t)

Esempio d'uso di ALT-l: Caps Lock era attivo e per sbaglio avete scritto un lungo comando tutto in maiuscolo. Premete CTL-a per andare all'inizio della riga e poi più volte ALT-l per correggere (l sta per lowercase).

Esempio d'uso di CTL-v; si vuole inserire un carattere TAB, non usare TAB per la completion:

$ echo 1        0
(1, CTL-v, TAB, 0)

Comandi emacs per il cut-and-paste (taglia e incolla):

CTL-k taglia fino a fine riga
CTL-u taglia fino a inizio riga
CTL-w taglia parola precedente
ALT-d taglia parola successiva
CTL-y incolla

Altri:

CTL-c ignora comando
CTL-l schermo pulito
<- indietro indice avanti ->