Polecenia readline, których szukasz, to history-search-*
polecenia:
historia-wyszukiwanie-do przodu
Przeszukuj historię w przód, aby znaleźć ciąg znaków między początkiem bieżącej linii a bieżącą pozycją kursora (punkt). To jest wyszukiwanie nie przyrostowe.
history-search-backward
Przeszukuj historię ciągu znaków od początku bieżącego wiersza do punktu. To jest wyszukiwanie nie przyrostowe.
Wiążąc je w swoim .inputrc
, tak:
"\e[A": history-search-backward # arrow up
"\e[B": history-search-forward # arrow down
pozwoli ci wprowadzić pierwsze znaki polecenia, a następnie użyć klawiszy Upi Down, aby poruszać się tylko w tych poleceniach, .bash_history
które zaczynają się od tego ciągu.
Na przykład wprowadzenie vi
i Upprzejście do pierwszego poprzedniego polecenia rozpoczynającego się od vi
, np vim somefile
. Wpisanie Upzabierze Cię do następnej poprzedniej instancji i tak dalej.
Możesz przeczytać więcej o wszystkich powiązaniach readline tutaj:
http://linux.about.com/library/cmd/blcmdl3_readline.htm
Przygotuj „!” na polecenie, którego szukasz. Jeśli chcesz zastąpić funkcjonalność strzałek w górę i w dół, najlepiej jest zmodyfikować plik inputrc (jak sugerują inne odpowiedzi).
Jeśli „polecenie” jest poleceniem, którego szukasz, wpisz:
Powinieneś otrzymać „polecenie” jako wynik.
Podobnie, jeśli chcesz znaleźć polecenie, które zawiera (ale może nie zaczynać) część polecenia, naciśnij ctrl + r, a następnie wpisz część polecenia.
Możesz także wpisać „tab”, aby automatycznie uzupełnić wprowadzony tekst (dotyczy to również plików). Jest to przydatne, jeśli szukasz polecenia spoza swojej historii (lub nie masz pliku historii)
Więcej informacji na temat „masteringu” pliku historii można znaleźć tutaj: http://www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/
Jest to możliwy duplikat /programming/1030182/how-do-i-change-bash-history-completion-to-complete-whats-already-on-the-line
źródło