2010-10-12 17 views

Répondre

3

Ouvrir un nouveau fichier dans vim et insérez le nom de fichier trouvé comme texte:

grep -RlI "send you instr" * | vim - 

Ouvrir directement le fichier trouvé dans vim:

grep -RlI "send you instr" * | xargs vim 
4

Si vous êtes OK avec lui ouvrant tout résultats dans Vim, vous pouvez simplement faire:

vim $(grep -RlI "send you instr" *) 

vous serez mis dans un tampon avec le premier fichier correspondant, et peut Naviga te aux autres avec :next.

+0

Est-ce que c'est moi ou cette commande est-elle un peu décalée? –

+0

Le grep dans ce cas effectuer une recherche dans tous vos fichiers avant que le vim puisse s'exécuter. Si vous êtes seulement intéressé par le premier résultat, vous pouvez essayer 'vim $ (grep -RlI" vous envoyer l'instr "* | head -1)' pour un boost de vitesse. La commande 'head' ferme le tuyau après avoir lu la première ligne, signalant que le grep se termine tôt. – Jander

1
vim `grep -RlI "send you instr" *`