Comment contrôler quand l'auto-complétion bash affiche une liste paginée de complétion?


8

Dans mes précédentes installations Linux, l'auto-complétion bash a toujours fonctionné sans problème. Si je voulais faire quoi que ce soit aux fichiers, en donnant un préfixe du nom de fichier et en appuyant sur le tabulateur répertorié tout ce qui correspondait au préfixe, mais il a également répété l'invite ci-dessous avec ma commande et mon préfixe, afin que je puisse immédiatement continuer à taper.

Maintenant, j'ai mis à jour mon système vers kubuntu 18.04 et l'auto-complétion ne fonctionne plus aussi couramment. Ce qui est encore plus étrange, le comportement est imprévisible comme il dépendait de la konsole. Si la commande est less, elle fonctionne toujours correctement (comme décrit ci-dessus), mais si la commande est cpou mv, le comportement varie. Parfois, cela fonctionne correctement, mais souvent il affiche une liste de fichiers correspondants avec plus (masquant mon invite) et je dois taper qpour quitter plus et pouvoir continuer. Une petite chose, mais ennuyeuse car elle nécessite une frappe supplémentaire.

Je vois que les .bashrcappels /usr/share/bash-completion/bash_completion mais je n'ai apporté aucun changement à cela.

Question: Qu'est-ce qui cause ce comportement imprévisible? Comment puis-je le réparer?

Réponses:


8

La raison s'est avérée très simple: si le terminal est suffisamment grand, l'auto-complétion peut afficher toutes les alternatives au-dessus de l'invite (sur deux colonnes), mais s'il est trop petit, il en utilise plus. L'astuce consiste donc à utiliser des terminaux suffisamment grands.

Pour une raison quelconque, je ne l'avais pas rencontré dans mes installations précédentes, peut-être en raison de terminaux plus grands / d'une police plus petite. Avec moins, tout fonctionnait bien, car il y avait moins d'alternatives et ils équipaient le terminal.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.