Bash: eliminar del cursor hasta el final de la línea con un atajo de teclado

82

Considere el siguiente mensaje bash, donde ^ indica la ubicación del mensaje:

$ git commit -am "[bug 123456] Do this and that with the bug"
                               ^

Supongamos que deseo volver a comprometerme con el mismo error, con un mensaje de confirmación diferente. ¿Hay alguna manera de eliminar el texto de la posición del cursor hasta el final de la línea?

    
pregunta Adam Matan 17.03.2013 - 09:28

3 respuestas

131

Utilice Ctrl + K para eliminar desde el cursor hasta el final de la línea.

Use Ctrl + U para eliminar desde el cursor hasta el comienzo de la línea.

    
respondido por el user128285 17.03.2013 - 09:37
45

Depende de si está utilizando el modo de edición vi ( set -o vi ) o emacs ( set -o emacs ) dentro de su caparazón.

De manera predeterminada, el shell generalmente está predeterminado en el modo de edición de emacs.

  • En el modo emacs, se puede eliminar al final de la línea usando el comando ctrl - k .

  • Sin embargo, si está utilizando el modo de edición vi en el shell de comandos, se puede lograr el mismo resultado escribiendo Esc (que lo colocará en modo comando) seguido de d - $ (si desea eliminar toda la línea, ingrese dd ).

Si no está seguro de qué modo de edición está utilizando actualmente en su shell, ingrese el comando set -o desde la línea de comandos y podrá determinar qué modo de edición está utilizando actualmente:

set -o
...snip...
emacs           on
...snip...
vi              off

Para cambiar el modo de edición de la línea de comandos, simplemente escriba:

set -o vi

o

set -o emacs
    
respondido por el Kevin Bowen 17.03.2013 - 10:07
2

En caso de que solo esté familiarizado con uno de Zsh y Bash, aquí están los enlaces de teclas equivalentes que puede necesitar:

bash

bind '"\C-k"':kill-line

zsh

bindkey "\C-k"      vi-kill-eol

Otra información relevante

Para obtener una lista de enlaces de teclas:

# bash
bind -p

# zsh
bindkey
    
respondido por el Sridhar-Sarnobat 25.09.2017 - 22:54

Lea otras preguntas en las etiquetas