Istnieje readline
funkcja, która prawdopodobnie nie jest związana z wywoływanym naciśnięciem klawisza kill-whole-line
, która zabije całą linię, a nie tylko zabicie części przed kursorem ( unix-line-discard
co jest nieco mylące i musi Ctrl- u).
Możesz powiązać to z dowolnym dostępnym naciśnięciem klawisza. Lubię ShiftAlt- Uponieważ jest to funkcja pokrewna. To naciśnięcie klawisza może być powiązane, do-lowercase-version
co oznacza, że robi to, co robi niezmodyfikowana wersja (w tym przypadku upcase-word
). Ponieważ tak naprawdę nie potrzebujemy do tego dwóch kluczy, użyjmy tego.
Możesz to wypróbować w wierszu polecenia, tworząc powiązanie w ten sposób:
bind '"\eU":kill-whole-line'
lub ustaw go jako trwały, umieszczając ten wiersz w swoim ~/.inputrc
pliku:
"\eU":kill-whole-line
Aby cofnąć operację Ctrl- ulub ShiftAlt- U(lub dowolną operację, którą można cofnąć), naciśnij Ctrl- Shift- _(podkreślenie) lub Ctrl- x Ctrl- u(dwa naciśnięcia klawiszy). Możesz też wkleić (szarpać) to, co zabiłeś, naciskając Ctrl- yco można powtórzyć, jeśli chcesz wielu kopii tego tekstu.
Nawiasem mówiąc, jeśli chcesz zabić tekst od kursora do końca linii, możesz nacisnąć Ctrl- k. Zamiast wykonywać opisane powyżej powiązanie, możesz zabić całą linię, naciskając Ctrl- u Ctrl- k. Tylko część zabita w wyniku drugiego z tych naciśnięć klawiszy zostanie zapisana w buforze zabijania, ale nadal możesz cofnąć dwukrotnie, aby odzyskać je oba.