Як я можу контролювати, коли автоматичне завершення bash показує етапний список виконань?


8

У моїх попередніх Linux-установках автоматичне завершення роботи bash завжди працювало без проблем. Якщо я хотів зробити що-небудь для файлів, даючи префікс імені файлу та натискаючи табулятор, перелічено все, що відповідає префіксу, але він також повторив підказку під ним з моєю командою та префіксом, щоб я міг негайно продовжувати вводити текст.

Тепер я оновив свою систему до kubuntu 18.04, і автоматичне завершення роботи вже не працює так легко. Що ще дивніше, поведінка непередбачувана, як це залежало від консолі. Якщо команда less, вона завжди працює правильно (як описано вище), але якщо команда cpчи mvповедінка змінюється. Іноді це працює правильно, але часто він показує список відповідних файлів з більшою кількістю (приховуючи мою підказку), і мені доводиться набирати, qщоб вийти більше і мати можливість продовжувати. Невелика річ, але дратівлива, оскільки вимагає додаткового набору тексту.

Я бачу ці .bashrcдзвінки, /usr/share/bash-completion/bash_completion але я не змінив цього.

Питання: Що викликає таку непередбачувану поведінку? Як я можу це виправити?

Відповіді:


8

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

Чомусь я не стикався з цим у своїх попередніх установках, можливо, через більші термінали / менший шрифт. З меншим, все спрацювало добре, тому що було менше альтернатив, і вони підходили до терміналу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.