Trzymam dość długą historię bashów i czasami, kiedy szukam czegoś z funkcją wyszukiwania wstecznego bash ( Ctrl+ r), kończę na początku historii wyszukiwania i nadal nie znalazłem tego, czego potrzebowałem, a potem chciałbym wrócić do końca pliku historii. Jedną z opcji jest użycie funkcji wyszukiwania do przodu ( Ctrl+ s), która przesuwa się bliżej końca historii lub wykonuje #
, ale czy istnieje również skrót klawiaturowy, aby przejść bezpośrednio do końca historii bash?
bash
command-history
Jaskółka oknówka
źródło
źródło
history
pokaże wszystkie polecenia bash wykonane ...Odpowiedzi:
Istnieje funkcja readline
end-of-history
, domyślnie odwzorowana na M- >, ale jeśli jest używana podczas wyszukiwania wstecznego, wychodzi z monitu wyszukiwania wstecznego.Możliwe obejście / sztuczka
Rozpocznij wyszukiwanie ciągów
Zamiast tego, aby użyć wyszukiwania wstecznego, możesz użyć
history-search-backward
ihistory-search-forward
(domyślnie niezmapowane), mapując je na up/down(bardzo przydatne) w.inputrc
:Po wpisaniu up tekstu możesz cofnąć wyszukiwanie, naciskając (zamiast Ctrl+ R), a jeśli chcesz wrócić do końca historii, możesz użyć tej
end-of-history
funkcji, naciskając ( M- >)W ten sposób „Ciąg wyszukiwania musi pasować na początku wiersza historii ”, więc jeśli szukasz
ls -ltr
, musisz wpisać,ls
a następnie nacisnąć upklawisz.Wyszukiwanie podciągów
jeśli chcesz „ Ciąg wyszukiwania może pasować w dowolnym miejscu w linii historii ”, musisz użyć
history-substring-search-forward
ihistory-substring-search-backward
:W ten sposób, jeśli szukasz
ls -ltr
, możesz pisaćls
, ale takżeltr
przed naciśnięciem up.Odwołanie: Podręcznik odniesienia Bash - polecenia historii .
źródło