comando + elimina nel terminale

1

Spesso, quando sto digitando un comando super lungo (di solito ruby sul codice della console di rails), decido che prima devo fare qualcos'altro e quindi, devo cancellare il comando che ho appena digitato (ma non eseguito ) sul terminale. C'è una scorciatoia per fare questo? command + delete e option + delete non funzionano. La freccia giù funziona sporadicamente.

Se aiuta, sono su The El Capitan Developer Preview 3 ma ho notato questo comportamento anche su Yosemite.

    
posta Robin Thuran Malhotra 21.07.2015 - 21:25
fonte

3 risposte

5

Se stai usando emacs keybindings (predefinito per bash , zsh , pry (interprete ruby), python e molti altri), ^u (control + u) potrebbe essere ciò che voglio - cancella tutto prima del cursore. Se vuoi smettere di scrivere il comando e dimenticare ciò che hai fatto, usa ^c (control + c), che è, a proposito, un segnale SIGKILL(9) (vedi man signal ).

A proposito, i keybindings non funzionano solo su OS X 10.11, ma anche su tutti i sistemi Unix -like che abbia mai visto.

    
risposta data 21.07.2015 - 21:38
fonte
2

Oltre alle altre scorciatoie di emacs pubblicate da theoden, puoi anche usare ^ a (control + a) per tornare all'inizio della riga per modificarlo, e ^ k (control + k) per tagliare la linea.

Spero che ti aiuti.

    
risposta data 21.07.2015 - 22:08
fonte
1

Di solito voglio mantenere il comando che sto scrivendo e semplicemente non eseguirlo. In questo caso, in Bash, almeno, premendo esc - # si aggiungerà un carattere hash all'inizio della riga e quindi (essenzialmente) si preme invio , spingendo il comando nella cronologia. È quindi possibile eseguire qualsiasi comando desiderato e utilizzare le chiavi della cronologia shell per ripristinare il comando precedente. Elimina l'hash all'inizio della riga, vai alla fine e finiscila.

    
risposta data 22.08.2015 - 15:28
fonte

Leggi altre domande sui tag