Je ne suis pas sûr de ce que vous essayez d'atteindre/rechercher. Peut-être que si vous développez ce que vous essayez exactement de faire et ce que l'ET est censé faire, nous pourrions vous aider davantage.
Cette solution exécute de commande vim:
grep PATTERN /some/path/*
Si vous êtes à la recherche des fichiers dans un répertoire que vous souhaitez utiliser:
ls /some/path | grep PATTERN
Vous pouvez mettre à jour les éléments pertinents de la commande.
Quoi qu'il en soit ...
À partir de votre script, je suppose que vous avez un chemin spécifiant la ligne à un répertoire que vous voulez grep pour quelque chose, par exemple vous voulez rechercher chemin pour MOTIF, vous positionnez le curseur sur la ligne avec le chemin, alors vous voulez extraire le chemin et grep pour le modèle avec votre commande, ligne d'exemple dans le fichier:
source /some/path
Cette commande devrait faire ce que vous attendez:
:command! -nargs=1 GrepSource :exe printf("!grep '<args>' '%s'/*", substitute(
getline('.'), "\\%(source\\s*\\)\\(.*\\)$", "\\1",""))
avec le curseur sur la ligne avec un chemin commençant source de mot, vous pouvez exécuter la commande ci-dessus:
:GrepSource PATTERN
Ceci recherche les fichiers «/so moi/chemin/'pour le mot MOTIF.
Je suppose chemins d'accès dans votre fichier ne se terminent pas avec slash «/» et je suppose que vous voulez rechercher dans les fichiers, donc j'APPEND «/* » à la fin du chemin de recherche, se terminant par commande:
grep PATTER /some/path/*
J'ai utilisé la commande substitute
qui remplace
source /some/path
avec
/some/path
Qui est ensuite utilisé dans printf
pour créer la commande actuelle.
Je n'ai pas réussi à faire fonctionner vos commandes. S'il vous plaît, dites si vos commandes fonctionnent dans votre machine. --- J'utilise Vim 7.2, OS X Leopard. –
J'utilise aussi 7.2 sur OS X 10.5. Quel résultat avez-vous obtenu en utilisant la deuxième commande (GrepSourceTest)? Assurez-vous que votre curseur est sur une ligne quelque chose comme «source» ou «. 'ou' #. ' –
Votre commande est excellente! --- Je n'avais pas en tête une telle commande. --- Je cherchais une commande qui greps tous les PATHs sources. Pour obtenir cela, nous devons filtrer les lignes voulues et les donner à Grep. --- Je ne sais pas comment nous pouvons filtrer/rechercher de telles lignes dans un one-liner. –