Powiedzmy, że wpisałem polecenie w terminalu „mv * .jpg .. \ photos” i podczas pisania zdaję sobie sprawę, że w ogóle nie chcę już wykonywać tego polecenia. Chcę po prostu usunąć całe oświadczenie. Nie chcę wyczyścić całego ekranu ani usunąć historii bashów. Chcę tylko przerwać bieżącą linię i usunąć ją.
Czy istnieje skrót klawiaturowy, czy muszę usunąć każdy znak?
Wiele programów, które czekają na wpisanie wiersza polecenia, a następnie wykonanie tego wiersza, w tym bash, bierze Ctrl+, Cco oznacza „Przerwij bieżące zadanie i wróć do głównego monitu”.
Kilka programów, w tym bash, przyjmuje Ctrl+ U( Wyczyść polecenie z terminala w OS X ), aby oznaczać „skasuj początek linii do kursora” (lub „skasuj całą linię”).
W bash, zauważalne różnice między Ctrl+ Ci Ctrl+ Uobejmują:
Czasami chcesz przestać pisać polecenie, ale wpisz je w historii powłoki, aby uruchomić później. Przydatną sztuczką jest umieszczenie
#
na początku wiersza i wykonanie go: ponieważ wiersz jest teraz komentarzem, nic nie zrobi. W bash istnieje jeden skrót klawiszowy: Alt+ #.źródło
Istnieje
readline
funkcja, która prawdopodobnie nie jest związana z wywoływanym naciśnięciem klawiszakill-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 przypadkuupcase-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:
lub ustaw go jako trwały, umieszczając ten wiersz w swoim
~/.inputrc
pliku: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.
źródło