Bash: cancella dal cursore fino alla fine della riga con una scorciatoia da tastiera

82

Considera il seguente prompt di bash, dove ^ indica la posizione del prompt:

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

Supponiamo che voglio commettere di nuovo lo stesso bug, con un messaggio di commit diverso. C'è un modo per cancellare il testo dalla posizione del cursore fino alla fine della riga?

    
posta Adam Matan 17.03.2013 - 09:28

3 risposte

131

Usa Ctrl + K per eliminare dal cursore fino alla fine della riga.

Utilizza Ctrl + U per eliminare dal cursore all'inizio della riga.

    
risposta data user128285 17.03.2013 - 09:37
45

Dipende se stai usando la modalità di modifica vi ( set -o vi ) o emacs ( set -o emacs ) all'interno della tua shell.

Di default, la tua shell generalmente usa la modalità di modifica di emacs.

  • In modalità emacs, l'eliminazione fino alla fine della riga può essere eseguita utilizzando il comando ctrl - k .

  • Se, tuttavia, usi la modalità di modifica vi nella tua shell dei comandi, lo stesso risultato può essere ottenuto digitando Esc (che ti metterà in modalità comando) seguito da d - $ (se vuoi cancellare l'intera riga, inserisci dd ).

Se non sei sicuro di quale modalità di modifica stai usando nella tua shell, inserisci il comando set -o dalla riga di comando e sarai in grado di determinare quale modalità di modifica stai correntemente utilizzando:

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

Per cambiare la modalità di modifica della riga di comando, digita semplicemente:

set -o vi

o

set -o emacs
    
risposta data Kevin Bowen 17.03.2013 - 10:07
2

Nel caso in cui tu abbia solo familiarità con uno di Zsh e Bash, ecco i collegamenti chiave equivalenti a cui potresti aver bisogno:

bash

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

zsh

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

Altre informazioni pertinenti

Per ottenere un elenco di associazioni di tasti:

# bash
bind -p

# zsh
bindkey
    
risposta data Sridhar-Sarnobat 25.09.2017 - 22:54

Leggi altre domande sui tag