Esto depende del shell en cuestión.
Algunos shells (como AT&T ksh88) prácticamente no ofrecen edición de línea de entrada.
En los shells que implementan la vi
edición en modo (puede que tenga que habilitar esto con set -o vi
), esto se hace presionando Esc(para cambiar del modo de inserción) seguido de 0saltar al comienzo de la línea o $saltar al final de la línea. Luego, vuelva a ingresar al modo de inserción presionando i- el cursor permanecerá donde está - o a- el cursor se moverá uno hacia la derecha para agregar texto.
vi
La edición de modo ha sido ordenada recientemente por el estándar POSIX.
El modo de edición mucho más común emacs
(gracias a Dios, no tiene nada que ver con el editor-slash-operating-system-sistema de Emacs) utiliza Ctrl-Apara saltar al principio de la línea y Ctrl-Eal final de la línea. Este modo requiere que se ejecute set -o emacs
en muchos shells (principalmente AT&T ksh93) pero está habilitado de forma predeterminada en mksh y GNU bash.
La mayoría de los proyectiles modernos admiten ambos modos emacs
y vi
modos. (Ambos modos requieren un tty para funcionar).
En muchos shells, puede personalizar las combinaciones de teclas; generalmente para el emacs
modo, aunque algunos shells también permiten personalizar la combinación de teclas para el vi
modo. Si tiene una clave a la que preferiría vincularla, primero debe averiguar las secuencias de teclas que produce (por ejemplo, en mi sistema, Alt-CursorLeftproduce Esc+[+1+;+3+D( ^[[1;3D
; ^X
es Ctrl-Xy ^[
es Esc), para que pueda escribir algo como
bind '^[[1;3D=beginning-of-line'
bind '"\e[1;3D":beginning-of-line'
y cambiará esta combinación de teclas, dependiendo del shell. Por lo general, puede conservarlos en el archivo de inicio ( ~/.mkshrc
, ~/.kshrc
) o, para GNU bash, en ~/.inputrc
. Tenga en cuenta que no todos los shells admiten vincular todas las claves en todas las versiones.
Por lo general, puede averiguar qué caracteres genera una clave simplemente ejecutando cat
en el shell, escribiendo la tecla y observando. Luego presione ^C
( Ctrl-C) para abortar cat
.