Pochodząc ze świata FreeBSD, chcę, aby terminal Linuksa zachowywał się jak FreeBSD, szczególnie wersja 9.1, w zasadzie po wpisaniu cd
terminala i naciśnięciu strzałki „w górę” możesz przeglądać wszystkie polecenia w historii, od cd
których zaczyna się zyskać dużo czasu.
Nie wiem, jak włączyć tę funkcję w Linuksie Debian lub CentOS, która zmusza mnie do napisania całości, czy ktoś mógłby mi pomóc.
bindkey -k (up|down) history-search-(back|for)ward
moje,.tcshrc
jak opisano tutaj . Chłodny!Odpowiedzi:
Dodaj do następujących elementów
~/.inputrc
:Wyjaśnienie
~/.inputrc
to plik konfiguracyjny dla readline GNU . Wiele powłok, w tym readline do edycji w wierszu poleceńbash
itcsh
korzysta z nich. Dwie linie powyżej powiedzą readline, aby wywołała funkcję wyszukiwania historii, gdy napotkane zostaną sekwencje specjalne dla klawisza strzałki w górę (\e[A
) i klawisza strzałki w dół (\e[B
).źródło
Last word
jest często ścieżką, którą chcę wypróbować w różnych tajemniczych kliszach. I Shift F12, żeby przywrócić mnie do edycji ostatniej linii od samego początku.~/.inputrc
jest przydatnym narzędziem.Dzieje się tak, że FreeBSD i Linux domyślnie używają różnych powłok. Domyślnym FreeBSD jest tcsh , który miał lepsze funkcje interaktywne niż bash w przeszłości (ale bash nadrobił zaległości), ale znacznie gorsze funkcje skryptowe .
Najprostszym sposobem na uzyskanie środowiska, do którego przywykłeś, byłoby przełączenie powłoki na tcsh w systemie Linux. Pod warunkiem, że tcsh jest zainstalowany w całym systemie (jeśli nie jest, poproś administratora systemu o zainstalowanie go), uruchom,
chsh -s tcsh
aby zmienić domyślną powłokę.Alternatywnie możesz skonfigurować bash, aby mieć to polecenie, do którego jesteś przyzwyczajony. Domyślnie strzałki Upi Downporuszają się między wszystkimi poleceniami w historii, a nie tylko tymi, które zaczynają się od wpisanego prefiksu. Aby zmienić to na zachowanie, do którego jesteś przyzwyczajony, umieść następujące wiersze w pliku inicjującym bash, który znajduje się
.bashrc
w twoim katalogu domowym. Albo uruchomić. ~/.bashrc
lub uruchomić nową powłokę do ponownego odczytania pliku inicjalizacji.Sekwencje specjalne są wysyłane przez terminal do powłoki po naciśnięciu klawisza strzałki. Upmoże być
\eOA
(escape,O
,A
) lub\e[A
w zależności od terminala, a podobnie do Down.Domyślnie bash oferuje różne powiązania klawiszy do przeszukiwania historii poleceń. Możesz nacisnąć Ctrl+ R, a następnie wprowadzić kilka znaków, aby wyszukać polecenie zawierające ten podciąg w dowolnym miejscu wiersza. Naciśnij Ctrl+, Saby przejść do przodu zamiast do tyłu. Wyszukiwanie jest przyrostowe (tzn. Podczas pisania); Alt+ Pi Alt+ Nzapewniają wyszukiwanie nie przyrostowe.
Zamiast bash i tcsh, możesz przełączyć się na zsh, który ma pewne fajne funkcje, których nie ma w innych powłokach . Zsh ma Ctrl+ Ri Ctrl+ Sdomyślnie tak jak bash. Aby uzyskać Upi Downtak jak w tcsh, wstaw następujące wiersze
~/.zshrc
:Jeśli chcesz wszędzie używać tej samej powłoki, możesz także użyć bash lub zsh na FreeBSD, pod warunkiem, że port jest zainstalowany (ponownie zapytaj administratora systemu).
źródło
tcsh
jest dostępny dla większości dystrybucji Linuksa. Spróbuj zainstalowaćtcsh
pakiet, a następnie uruchomchsh -s /bin/tcsh
go, aby ustawić go jako domyślną powłokę.źródło
Inne odpowiedzi rozwiązują ten problem, ale jeśli chcesz więcej, spójrz na https://github.com/zsh-users/zsh-history-substring-search
Prezto ( https://github.com/sorin-ionescu/prezto ) jest również pełne gadżetów zsh.
źródło