Tab-complete partiel de type Bash pour les noms de fichiers dans Vim

16

Dans Bash, quand il y a plusieurs fichiers avec le même préfixe et que je tape une partie du préfixe et que je frappe Tab, cela complète le préfixe commun et me permet de continuer à taper pour différencier les résultats possibles.

Dans Vim, lorsqu'il y a plusieurs fichiers avec le même préfixe et que je tape une partie du préfixe et que je frappe Tab, cela termine la première correspondance entière et me permet ensuite de sélectionner parmi toutes les correspondances. Pour réduire l'ensemble, je dois reculer jusqu'à ce que j'arrive à la fin de la partie commune, puis taper un peu plus et frapper à Tabnouveau.

J'ai souvent beaucoup de fichiers où il y a un long préfixe commun, et le fichier que je veux n'est pas parmi les premiers (par exemple, un répertoire de fichiers de projet contenant, entre autres, divers makefiles portant tous le nom Makefile.{whatever}).

Puis-je rendre Vim plus complet comme Bash pour économiser beaucoup de touches?

Bonus si cela peut également s'appliquer à d'autres compléments (par exemple, les valeurs d'énumération qui ont toutes le même préfixe)

John O'M.
la source

Réponses:

16

Vous pouvez utiliser l' wildmodeoption pour contrôler cela.

Si vous utilisez :set wildmode=list:longest, vous obtenez un comportement similaire à bash.

Personnellement, je préfère utiliser :set wildmode=list:longest,full; cela répertoriera les achèvements, mais à la deuxième Tab pression, vous pouvez faire défiler les entrées (et Shift+Tabfaire défiler dans le sens inverse).

Cela s'applique à toutes les réalisations effectuées par Vim.

Voir: :help 'wildmode'

Martin Tournoij
la source
3
Ne pas insérer de fin de mode! Vous en avez besoin completeopt.
Rich
Merci! wildmode et completeopt sont exactement ce que je cherchais!
John O'M.