Aby nieco rozwinąć odpowiedź Ignacio Vazquez-Abramsa, możesz uzyskać (prawie) podobne do Windows zachowanie z Escklawisza bash, wiążąc kill-whole-line
go Escz następującym poleceniem
bind '"\e":kill-whole-line'
Jeśli dodasz wiersz do ~/.inputrc
pliku, powiązanie będzie się utrzymywać między sesjami.
Zauważ jednak, że jest to bardzo niestandardowe, ponieważ bash faktycznie używa tego Escklucza jako innego klawisza modyfikującego (takiego jak nietrwały Alt lub Ctrl). Jeśli spojrzysz na listę istniejących powiązań klawiszy (z bind -P
), prawdopodobnie zobaczysz kilka poleceń powiązanych z kombinacjami klawiszy, które zaczynają się od „\ e” (np.
"\eb": backward-word
który ustawia kombinację Esc+, Baby przesunąć kursor z powrotem do najnowszego początku słowa - raczej jak Ctrl+ ←, z tym wyjątkiem, że musisz zwolnić Esc(jak również Boczywiście), jeśli chcesz to zrobić więcej niż raz z rzędu ).
I to wyjaśnia, dlaczego powiedziałem, że twoje zachowanie jest prawie podobne do systemu Windows: po naciśnięciu Escbash sprawdza, czy używasz go w połączeniu z innym klawiszem; więc jeśli go kill-whole-line
powiążesz, pomiędzy naciśnięciem (a raczej zwolnieniem) Esca wyczyszczeniem linii dla ciebie jest trochę opóźnienia .
Jeśli jednak nie przejmujesz się tym i wolisz żyć z opóźnieniem niż przeszkolić się przy innym naciśnięciu klawisza, możesz to zrobić.
(Uwaga: wiele informacji tutaj otrzymałem w wyniku przeczytania - i podążenia za linkami - tej odpowiedzi ).