Jak możesz odwrócić kierunek alt-period w Bash?

10

W Bash możesz nacisnąć Alt-, .aby wstawić ostatni argument poprzedniego polecenia. Jeśli naciśniesz go wiele razy, przejdzie przez ostatnie argumenty wszystkich poleceń w twojej historii. Czasami jednak naciskam go zbyt wiele razy i chcę odwrócić kierunek jazdy na rowerze, a więc iść naprzód. czy to możliwe?

(tzn. jeśli odwrócisz wyszukiwanie za pomocą Ctrl- r, możesz zmienić kierunek za pomocą Ctrl- s. Jaki jest analogiczny dla Alt- .?)

Krogulec
źródło

Odpowiedzi:

11

Jeśli podasz argument ujemny do Alt- ., odwróci on kierunek. Najłatwiejszym sposobem na to (przy standardowych skrótach klawiszowych) jest Alt- -(odpowiednik argumentu -1).

Tak więc, po jednej lub więcej Alt- .znakom, naciśnięcie Alt- -spowoduje, że następny Alt- .iść w odwrotnym kierunku. (Po prostu zignoruj ​​okno dialogowe argumentów, które pojawia się po naciśnięciu Alt- -.)

rici
źródło
1
Nie jestem pewien, co dokładnie masz na myśli. Naciśnięcie Alt+ -usuwa wiersz poleceń i (arg: -1)zamiast tego wstawia . Samo polecenie pozostaje niezmienione.
Sparhawk
1
Thenext alt-. (z argumentem -1) przejdzie do przodu.
rici
To wspaniale! Zredagowałem odpowiedź, aby była nieco jaśniejsza. Co dokładnie robi alt+ -?
Sparhawk
1
@Sparhawk: jak powiedziałem, alt -tworzy argument -1dla następnego polecenia readline. Lub, dokładniej, rozpoczyna argument ujemny, więc alt -alt` 2wygeneruje argument -2. W przypadku alt .liczy się tylko znak argumentu i tylko wtedy, gdy jest on negatywny, więc alt -wystarczy. (Pierwszy alt .
traktuje
Dziękuję Ci. Często uważam, że man bashtakie sytuacje są nieco nieprzejrzyste, ale myślę, że wyjaśniono to nieco tutaj.
Sparhawk