Jak kontrolować, kiedy automatyczne uzupełnianie bash wyświetla listę stronicowania z ukończeniami?

8

W moich poprzednich instalacjach linuksowych automatyczne uzupełnianie bash zawsze działało bez problemów. Gdybym chciał coś zrobić z plikami, podanie prefiksu nazwy pliku i naciśnięcie tabulatora wyświetliło listę wszystkich pasujących prefiksów, ale powtórzyło to również pod poleceniem z moim poleceniem i prefiksem, aby móc od razu kontynuować pisanie.

Teraz zaktualizowałem swój system do kubuntu 18.04 i automatyczne uzupełnianie nie działa już tak płynnie. Co dziwniejsze, zachowanie jest nieprzewidywalne, tak jakby zależało od konsoli. Jeśli polecenie jest less, działa zawsze poprawnie (jak opisano powyżej), ale jeśli polecenie jest cplub mv, zachowanie jest różne. Czasami działa poprawnie, ale często wyświetla listę pasujących plików z większą liczbą (ukrywanie mojego monitu) i muszę pisać, qaby wyjść więcej i móc kontynuować. Mała rzecz, ale irytujące, ponieważ wymaga dodatkowego pisania.

Widzę te .bashrcpołączenia, /usr/share/bash-completion/bash_completion ale nie zmieniłem tego.

Pytanie: Co powoduje to nieprzewidywalne zachowanie? Jak mogę to naprawić?

Whamalai
źródło

Odpowiedzi:

8

Powód okazał się bardzo prosty: jeśli terminal jest wystarczająco duży, automatyczne uzupełnianie może pokazać wszystkie alternatywy powyżej monitu (w dwóch kolumnach), ale jeśli jest zbyt małe, wykorzystuje więcej. Sztuka polega na użyciu odpowiednio dużych terminali.

Z jakiegoś powodu nie spotkałem się z tym w moich poprzednich instalacjach, być może z powodu większych terminali / mniejszej czcionki. Przy mniejszej liczbie wszystko działało dobrze, ponieważ było mniej alternatyw i pasowały do ​​terminala.

Whamalai
źródło