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
i history-search-forward
(domyślnie niezmapowane), mapując je na up/down(bardzo przydatne) w .inputrc
:
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
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
i history-substring-search-backward
:
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
W ten sposób, jeśli szukasz ls -ltr
, możesz pisać ls
, ale także ltr
przed naciśnięciem up.
Odwołanie: Podręcznik odniesienia Bash - polecenia historii .
history
pokaże wszystkie polecenia bash wykonane ...