web-dev-qa-db-fra.com

Comment faire en sorte que Vim réalise l'achèvement normal des onglets (de type Bash) pour les noms de fichiers?

Lorsque j'ouvre un nouveau fichier dans Vim et que j'utilise la complétion par tabulation, le nom complet du fichier est complété au lieu de faire la correspondance partielle comme le fait Bash. Existe-t-il une option pour que l'achèvement de l'onglet de nom de fichier fonctionne davantage comme Bash?

273
Eric Johnson

J'utilise personnellement

set wildmode=longest,list,full
set wildmenu

Lorsque vous tapez le premier coup d'onglet, il se terminera autant que possible. Le deuxième onglet frappé fournira une liste. Le troisième onglet et les suivants suivront les options d’achèvement pour vous permettre de compléter le fichier sans autre clé.

Bash-like serait juste

set wildmode=longest,list 

mais le plein est très pratique.

394
michael

Le comportement le plus proche de l'achèvement de Bash devrait être

set wildmode=longest:full,full

Avec quelques caractères saisis, appuyer sur la touche une fois donnera toutes les correspondances disponibles dans wildmenu. Ceci est différent de la réponse de Michael qui ouvre une fenêtre semblable à un correctif rapide sous la ligne de commande.

Ensuite, vous pouvez continuer à taper le reste des caractères ou appuyer de nouveau sur la touche Tab pour compléter automatiquement la première correspondance et la contourner.

21
weynhamz

Outre le wildmode/wildmenu suggéré, Vim offre également la possibilité d’afficher toutes les complétions possibles en utilisant Ctrl + D. Cela pourrait être utile pour certains utilisateurs qui tombent sur cette question lorsqu'ils cherchent différentes options de complétion automatique dans Vim, comme je l'ai fait.

6
tc88

Si vous ne souhaitez pas définir le menu sauvage, vous pouvez toujours appuyer sur Ctrl + L quand vous voulez ouvrir un fichier. Ctrl + L complétera le nom du fichier comme la complétion de Bash.

6
Amjith

Je suppose que vous utilisez la complétion automatique dans Vim via Ctrl + N pour rechercher dans le tampon courant. Lorsque vous utilisez cette commande, vous obtenez une liste de solutions. répétez simplement la commande pour aller au prochain élément de la liste. La même chose est vraie pour toutes les commandes à complétion automatique. Pendant qu'ils remplissent la totalité du mot, vous pouvez continuer à parcourir la liste jusqu'à ce que vous arriviez à celui que vous souhaitez utiliser.

Cela peut être une commande plus utile: Ctrl + P. La seule différence est que Ctrl + P recherche en arrière dans le tampon en Ctrl + N recherche en avant ... De manière réaliste, ils fourniront tous les deux une liste des mêmes éléments, et ils peuvent simplement apparaître dans un ordre différent.

4
Mike

Essayez d'utiliser :set wildmenu. En dehors de cela, je ne suis pas sûr de ce que vous essayez exactement.

Oh, oui, et peut-être essayer ce lien: lien

0
Rook