Bash: cancella la parola prima del cursore

64

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

svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
              ^

Mi piacerebbe commettere un file diverso con lo stesso messaggio. Come posso cancellare la parola corrente, dalla posizione del cursore allo spazio successivo? C'è anche una scorciatoia per la cancellazione all'indietro, forma il cursore sul primo spazio all'indietro?

Aggiornamento: ctrl + w cancella indietro, ma quale scorciatoia cancella una parola in avanti?

    
posta Adam Matan 08.04.2013 - 17:12

2 risposte

47

Ho risposto a una domanda simile qui: link :

  

Bash ha comandi readline non vincolati per impostazione predefinita. Potete trovare   loro al riferimento:    link

     

Il comando che stai cercando si chiama "shell-backward-kill-word". tu   devi prima selezionare la scorciatoia. Usiamo Crtl + p, dato che è "precedente"   comando "- come la freccia su.

bind '"\C-p": shell-backward-kill-word'

L'unica differenza è che devi usare il comando "shell-kill-word", dato che tu vuoi eliminare forward.

C'è anche un comando "kill-word" con scorciatoia Meta + d (prova Esc + d se non hai il tasto Meta). Cancellerà solo una parte del percorso in una sola volta.

    
risposta data Nykakin 10.04.2013 - 18:04
6

Testati sia il esc + d che alt / opt + d su OSX Mavericks e lavorano anche lì.

    
risposta data visyoual 30.11.2015 - 17:24

Leggi altre domande sui tag