Une méthode qui ne nécessite pas de jouer avec args
est de mettre la liste des fichiers dans un fichier texte, puis d'utiliser la :so
commande pour exécuter les commandes dans ce fichier.
Par exemple, si vous souhaitez ouvrir tous les fichiers qui se terminent dans .php
un répertoire donné, commencez par créer files.txt
contenant 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.txt
fichier rapidement, en redirigeant la sortie de ls
vers un fichier, puis en utilisant une macro vim à ajouter sp
avant chaque nom de fichier.
Ce n'est évidemment pas aussi élégant que d'utiliser les commandes args
et 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/**