Це залежить від розглянутої оболонки.
Деякі оболонки (наприклад, AT&T ksh88) практично не мають редагування вхідних рядків.
У оболонках, що реалізують vi
режим редагування режимів (можливо, вам доведеться це ввімкнути set -o vi
), це робиться натисканням Esc(для переходу з режиму вставки) з подальшим переходом 0до початку рядка або $переходу до кінця рядка. Потім повторно введіть режим вставки або натисканням i- курсор залишиться там, де він є, або a- курсор перемістить його праворуч, щоб додати текст.
vi
редагування режиму нещодавно було затверджено стандартом POSIX.
Набагато частіше emacs
, режим редагування (слава богам, він не має нічого спільного з редактором-слеш-операційній системі Emacs) використовує Ctrl-Aдля переходу на початок рядка і Ctrl-Eперейти до кінця рядка. Цей режим вимагає запуску set -o emacs
багатьох оболонок (найбільш чітко AT&T ksh93), але він за замовчуванням включений у mksh та GNU bash.
Більшість сучасних оболонок підтримують emacs
і vi
режими, і режими. (Обидва ці режими вимагають роботи TTT.)
У багатьох оболонках ви можете налаштувати клавіші; зазвичай для emacs
режиму, хоча деякі оболонки також дозволяють налаштувати прив'язку клавіш до vi
режиму. Якщо у вас є ключ , ви хотіли б мати це неминуче, в першу чергу необхідно з'ясувати , ключові послідовності , які вона виробляє (наприклад, в моїй системі, Alt-CursorLeftвиробляє Esc+[+1+;+3+D( ^[[1;3D
; ^X
це Ctrl-Xі ^[
є Esc), так що я можу ввести що - щось на зразок
bind '^[[1;3D=beginning-of-line'
bind '"\e[1;3D":beginning-of-line'
і це змінення клавіш буде змінено в залежності від оболонки. Зазвичай їх можна зберегти у файлі запуску ( ~/.mkshrc
, ~/.kshrc
) або, для GNU bash, в ~/.inputrc
. Зауважте, що не всі оболонки підтримують прив'язку всіх клавіш у всіх версіях.
Зазвичай ви можете дізнатись, що символів ключа генерується, просто натиснувши cat
на оболонку, набравши ключ і переглянувши. Потім натисніть ^C
( Ctrl-C), щоб скасувати cat
.