En la línea de comandos de Windows (powershell y cmd), cuando presiona la Esctecla mientras está en una línea, se elimina lo que haya escrito en el indicador.
Encontré que presionar la Esc
tecla en bash prompt no hace nada. Presionando Esc
y luego backspace
elimina una palabra, pero esto debe hacerse para cada palabra.
Estoy aprendiendo Bash de forma incremental y, a veces, escribo algo estúpido en el medio de la línea y siento que es mejor volver a escribir desde cero. Para hacer esto, presionar backspace
es la única forma que encontré hasta ahora.
¿Qué haces?
Conozco el clear
comando y el Ctrl-Lacceso directo, pero no estoy hablando de borrar todo el terminal. Solo la linea.
bash
command-line
Animesh
fuente
fuente
Respuestas:
Usted quiere
kill-whole-line
, pero esto no está vinculado por defecto en bash.backward-kill-line
( CtrlX Backspace) yunix-line-discard
( CtrlU) ambos borran desde el punto actual hasta el comienzo de la línea, así que solo ve al final de la línea y usa cualquiera de los dos.fuente
bind -P
. SupongoCtrl-U
y entoncesCtrl-Y
es la única opción entonces.Puede usar Ctrl+ Cpara abandonar lo que estaba escribiendo y obtener una nueva línea de comando vacía, consulte ¿Es incorrecto CTRL + C para volver a la línea de comando? .
fuente
Ctrl+ava al principio de la línea y Ctrl+kelimina al final de la línea
fuente
^U
primero, en la mayoría de las implementaciones del modo de edición de línea de comandos de Emacs ya elimina la línea completa. En aquellos en los que solo se elimina la izquierda del cursor (línea de lectura GNU, por ejemplo), presione^K
después.Para ampliar un poco la respuesta de Ignacio Vázquez-Abrams, puede obtener (casi) un comportamiento similar al de Windows desde la Esctecla en bash vinculando el
kill-whole-line
a Esccon el siguiente comandoSi agrega la línea a su
~/.inputrc
archivo, el enlace persistirá entre sesiones.Sin embargo, tenga en cuenta que esto no es muy estándar, ya que bash realmente usa la Esctecla como otra tecla de modificación (como Alt o Ctrl no persistentes). Si observa la lista de
bind -P
asociaciones de teclas existentes (con ), probablemente verá varios comandos vinculados a combinaciones de teclas que comienzan con "\ e" (p. Ej.que configura la combinación Esc+ Bpara mover el cursor de nuevo al comienzo de la palabra más reciente, más bien como Ctrl+ ←, excepto que debe seguir soltando Esc(así como B, por supuesto) si desea hacerlo más de una vez seguidas )
Y eso explica por qué dije que el comportamiento que obtienes es casi como el de Windows: cuando presionas Esc, bash comprueba si lo estás usando en combinación con otra tecla; por lo tanto, si lo vincula
kill-whole-line
, hay un poco de retraso entre presionar (o más bien, soltar) Escy bash despejar la línea por usted.Sin embargo, si no le importa nada de eso, y prefiere vivir con el retraso que volver a entrenarse con una pulsación de tecla diferente, puede hacerlo.
(Nota: gran parte de la información que recibí aquí como resultado de leer, y seguir los enlaces en esta respuesta ).
fuente
[19;
un código de escape de aspecto similar. Al final, encontré la asignación"\e\e"
akill-whole-line
(es decir, tocar Esc dos veces para borrar la línea) un buen compromiso.Esc
algunas veces de todos modos, así que podría intentarlo. Actualmente lo tengo vinculado aCtrl
+Del
pero nunca lo recuerdo.