Questo dipende dalla shell in questione.
Alcune shell (come AT&T ksh88) non offrono praticamente alcuna modifica alla linea di input.
Nella vi
modifica della modalità di implementazione delle shell (potrebbe essere necessario abilitarlo con set -o vi
), questo viene fatto premendo Esc(per passare dalla modalità di inserimento) seguito da 0per saltare all'inizio della riga o $per saltare alla fine della riga. Quindi accedere nuovamente alla modalità di inserimento premendo i- il cursore rimarrà dove si trova - oppure a- il cursore si sposterà a destra per aggiungere testo.
vi
la modifica della modalità è stata recentemente autorizzata dallo standard POSIX.
La modifica della modalità molto più comune emacs
(grazie agli dei, non ha nulla a che fare con l'editor-slash-sistema operativo-Emacs) utilizza Ctrl-Aper saltare all'inizio della riga e Ctrl-Eper saltare alla fine della riga. Questa modalità richiede l'esecuzione set -o emacs
su molte shell (soprattutto AT&T ksh93) ma è abilitata di default in mksh e GNU bash.
La maggior parte dei gusci moderni supportano sia emacs
e vi
modalità. (Entrambe queste modalità richiedono un tty per funzionare.)
In molte shell, è possibile personalizzare le combinazioni di tasti; di solito per la emacs
modalità, anche se alcune shell consentono anche di personalizzare il keybinding per la vi
modalità. Se hai una chiave a cui preferiresti avere questo limite, devi prima capire le sequenze di tasti che produce (ad esempio, sul mio sistema, Alt-CursorLeftproduce Esc+[+1+;+3+D( ^[[1;3D
; ^X
è Ctrl-Xed ^[
è Esc), quindi posso digitare qualcosa come
bind '^[[1;3D=beginning-of-line'
bind '"\e[1;3D":beginning-of-line'
e questo legame verrà modificato, a seconda della shell. Di solito puoi persistere nel file di avvio ( ~/.mkshrc
, ~/.kshrc
) o, per GNU bash, in ~/.inputrc
. Si noti che non tutte le shell supportano il binding di tutte le chiavi in tutte le versioni.
Di solito puoi scoprire quali caratteri genera una chiave semplicemente eseguendo cat
sulla shell, digitando la chiave e guardando. Quindi premere ^C
( Ctrl-C) per interrompere cat
.