Une méthode qui ne nécessite pas de jouer avec argsest de mettre la liste des fichiers dans un fichier texte, puis d'utiliser la :socommande pour exécuter les commandes dans ce fichier.
Par exemple, si vous souhaitez ouvrir tous les fichiers qui se terminent dans .phpun répertoire donné, commencez par créer files.txtcontenant la liste des fichiers, précédée de la commande que vous souhaitez utiliser pour les ouvrir.
sp alpha.php
sp bravo.php
sp charlie.php
Ensuite, dans vim:
:so files.txt
Si la liste des fichiers est volumineuse, il est relativement simple de générer le files.txtfichier rapidement, en redirigeant la sortie de lsvers un fichier, puis en utilisant une macro vim à ajouter spavant chaque nom de fichier.
Ce n'est évidemment pas aussi élégant que d'utiliser les commandes argset argdo, mais ces commandes sont également beaucoup plus compliquées.
Il pourrait aussi y avoir un moyen de le faire avec une seule commande sur la ligne de commande, mais même après 16 ans, je trouve toujours que la programmation vim est étrange et obscure.
**pour faire correspondre les fichiers de manière récursive. Par exemple:args /path_to_dir/**