To zależy od danej powłoki.
Niektóre powłoki (jak AT&T ksh88) praktycznie nie oferują edycji linii wejściowych.
W powłokach implementujących vi
edycję trybu (być może trzeba to włączyć za pomocą set -o vi
), odbywa się to poprzez naciśnięcie Esc(aby przełączyć z trybu wstawiania), a następnie 0przeskoczenie na początek linii lub $skok na koniec linii. Następnie ponownie wejdź w tryb wstawiania, naciskając i- kursor pozostanie tam, gdzie jest - lub a- kursor przesunie się w prawo, aby dołączyć tekst.
vi
Tryb edycji został ostatnio nakazany przez standard POSIX.
O wiele bardziej powszechny emacs
tryb edycji (dzięki bogom, nie ma to nic wspólnego z edytorem-emulatorem-systemem operacyjnym Emacsa) wykorzystuje się Ctrl-Ado przeskakiwania na początek linii i Ctrl-Eprzeskakiwania do końca linii. Ten tryb wymaga działania set -o emacs
na wielu powłokach (przede wszystkim AT&T ksh93), ale jest domyślnie włączony w mksh i GNU bash.
Większość nowoczesnych powłok obsługiwać zarówno emacs
i vi
trybów. (Oba te tryby wymagają tty do działania.)
W wielu powłokach można dostosowywać skróty klawiszowe; zwykle dla emacs
trybu, chociaż niektóre powłoki pozwalają również dostosować przypisywanie klawiszy dla vi
trybu. Jeśli masz klucz, do którego wolisz go przypisać, najpierw musisz dowiedzieć się, jakie sekwencje klawiszy produkuje (na przykład w moim systemie Alt-CursorLeftprodukuje Esc+[+1+;+3+D( ^[[1;3D
; ^X
jest Ctrl-Xi ^[
jest Esc), więc mogę wpisać coś w rodzaju
bind '^[[1;3D=beginning-of-line'
bind '"\e[1;3D":beginning-of-line'
i zmieni to przypisanie klawiszy, w zależności od powłoki. Zazwyczaj można je zachować w pliku startowym ( ~/.mkshrc
, ~/.kshrc
) lub, w przypadku GNU bash, w ~/.inputrc
. Zauważ, że nie wszystkie powłoki obsługują powiązanie wszystkich kluczy we wszystkich wersjach.
Zazwyczaj można dowiedzieć się, jakie znaki generuje klucz, po prostu uruchamiając cat
powłokę, wpisując klucz i obserwując. Następnie naciśnij ^C
( Ctrl-C), aby przerwać cat
.