Al escribir un comando largo en la línea de comando * nix y tener que volver al primer carácter, para agregar algo al principio (por ejemplo nohup
, a , cuando se da cuenta de que el proceso será largo, o a sudo
, cuando tenga en cuenta que necesita permisos de root) puede tomar mucho tiempo para que el cursor regrese al primer carácter ...
¿Hay un atajo que te permita saltar directamente allí?
Estoy usando una Mac, así Homeque no es una opción
linux
command-line
unix
keyboard-shortcuts
cursor
clami219
fuente
fuente
sudo
es escribirsudo !!
. El!!
se reemplaza con el comando anterior.Respuestas:
Ctrl+ADeberia trabajar. Ctrl+Ecorresponde al final de la línea de comando.
fuente
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 conset -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 ejecuteset -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
yvi
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 elvi
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 comoy 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 abortarcat
.fuente
^D^D
todavía recibo "la basura" hizo eco ...¿Has probado la tecla de inicio? Utilizo MobXterm para conectarme a Linux Box y utilizo las teclas Inicio y Fin en el teclado para ir al primer o último carácter del comando.
fuente
Si ha cambiado al
vi
modo, usandoset -o vi
, puede presionar Escy Io Aingresar texto al comienzo o al final de la línea. O si solo está buscando mover el cursor, es ^y $.fuente
En el modo emacs (cambiado por:)
set -o emacs
es presionando:En modo vi (cambiado por:)
set -o vi
cuando está en modo comando ( Esc) es presionando:Ver también:
fuente