Existe-t-il un moyen d'ouvrir tous les fichiers d'un répertoire à partir de Vim? Donc, :command
cela dirait en effet "Ouvrez tous les fichiers sous /some/path
dans des tampons".
Idéalement, ce serait génial d'ouvrir tous les fichiers sous un répertoire de manière récursive.
**
pour faire correspondre les fichiers de manière récursive. Par exemple:args /path_to_dir/**
:tab all
pour les mettre dans des onglets individuels."/path_to_dir/subdir/" Illegal file name
). La solution rapide consiste à exécuter la deuxième commandeargd */
pour les supprimer à nouveau de la liste:argdo source my_commands_batch.vim
Pourquoi cela ne fonctionne pas si je veux ouvrir tous les fichiers se terminant par une certaine extension? j'ai essayé
et n'ouvre que les fichiers du répertoire en cours.
J'ai trouvé la réponse, le bon code est
:n **/*.cs
Pour plus d'informations
:h find
la source
As-tu essayé
Il ouvrira tous les fichiers dans / some / path
Je ne pense pas que cela ouvrira le fichier de manière récursive.
ÉDITER
Peut-être que l'utilisation de ** s'ouvrira récursivement comme daf mentionné
la source
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éerfiles.txt
contenant la liste des fichiers, précédée de la commande que vous souhaitez utiliser pour les ouvrir.Ensuite, dans vim:
Si la liste des fichiers est volumineuse, il est relativement simple de générer le
files.txt
fichier rapidement, en redirigeant la sortie dels
vers un fichier, puis en utilisant une macro vim à ajoutersp
avant chaque nom de fichier.Ce n'est évidemment pas aussi élégant que d'utiliser les commandes
args
etargdo
, 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.
la source
Une autre façon d'ouvrir des fichiers de manière récursive
la source
kate **/*(^/)
(en utilisant la syntaxe de globbing zsh) fait ce qui est nécessaire: ouvre les fichiers du répertoire donné de manière récursive. Ce n'est pas «de l'intérieur» et il n'utilise pas du tout vim, mais il «fait pourtant ce qu'il faut». Ou mêmekate ~/.vimrc ~/.bashrc
. Omettre «from withing», «from the given directory» et «récursivement» tout à fait, mais il «fait pourtant ce qu'il faut»: ouvre les fichiers.Si vous souhaitez ajouter à la liste d'arguments;
voir
de / dans vim pour plus d'informations.
la source