Как я могу контролировать, когда автозаполнение bash показывает постраничный список завершений?

8

В моих предыдущих установках linux автозаполнение bash всегда работало без проблем. Если я хотел что-то сделать с файлами, дав префикс имени файла и нажимая табулятор, перечислял все, что соответствовало префиксу, но он также повторял подсказку под ним с моей командой и префиксом, чтобы я мог немедленно продолжить ввод.

Теперь я обновил свою систему до kubuntu 18.04, и автозаполнение уже не работает так быстро. Что еще более странно, поведение непредсказуемо, так как зависит от консоли. Если команда есть less, она всегда работает правильно (как описано выше), но если команда cpили mv, поведение меняется. Иногда это работает правильно, но часто он показывает список подходящих файлов с большим количеством (скрывая мою подсказку), и мне нужно набрать, qчтобы выйти больше и иметь возможность продолжить. Маленькая вещь, но раздражает, так как требует дополнительной печати.

Я вижу, что .bashrcзвонки, /usr/share/bash-completion/bash_completion но я не сделал никаких изменений в этом.

Вопрос: Чем обусловлено это непредсказуемое поведение? Как я могу это исправить?

whamalai
источник

Ответы:

8

Причина оказалась очень простой: если терминал достаточно большой, автозаполнение может показать все альтернативы над приглашением (в двух столбцах), но если оно слишком мало, оно использует больше. Итак, хитрость заключается в использовании достаточно больших терминалов.

По какой-то причине я не сталкивался с этим в моих предыдущих установках, возможно, из-за больших терминалов / меньшего шрифта. С меньшим, все работало хорошо, потому что было меньше альтернатив, и они соответствовали терминалу.

whamalai
источник