web-dev-qa-db-fra.com

Comment puis-je contrôler quand bash auto-completion affiche une liste paginée des achèvements?

Dans mes précédentes installations Linux, l'auto-complétion bash a toujours fonctionné sans problème. Si je voulais faire quelque chose dans les fichiers, donner un préfixe du nom de fichier et appuyer sur la tabulatrice énuméraient tous ceux qui correspondaient au préfixe, mais répétait également l'invite sous celle-ci 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 car il dépendait de la konsole. Si la commande est lessname__, elle fonctionne toujours correctement (comme décrit ci-dessus), mais si la commande est cpou mvname__, le comportement varie. Parfois, cela fonctionne correctement, mais souvent, il affiche une liste de fichiers correspondants avec plus (masquage de mon invite) et je dois taper q sortir plus et pouvoir continuer. Une petite chose, mais ennuyeux car cela nécessite une saisie supplémentaire.

Je vois que .bashrc appelle /usr/share/bash-completion/bash_completion mais je n’ai apporté aucune modification à cela.

Question: Quelle est la cause de ce comportement imprévisible? Comment puis-je le réparer?

8
whamalai

La raison s’est révélé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. Il faut 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 a bien fonctionné, car il y avait moins d'alternatives et ils équipaient le terminal.

8
whamalai