Y a-t-il un moyen de rechercher un texte dans un dossier et d'afficher les résultats de la recherche dans un tampon séparé dans Vim? (Comme sublime texte ctrl + shift + f code> résultats) p>
3 Réponses :
sonne comme si vous avez besoin ack.vim code> :
Ce plugin est un front pour l'application de module Perl :: ack. ACK peut être utilisé comme remplacement de 99% des utilisations du GREP. Ce plugin vous permettra d'exécuter ACK de VIM et affiche les résultats dans une fenêtre fractionnée. P> blockQuote>
Utilisation: P>
:Ack [options] {pattern} [{directory}] Search recursively in {directory} (which defaults to the current directory) for the {pattern}.
Le Les deux commandes affichent les résultats dans la fenêtre Quickfix, à partir duquel vous pouvez naviguer vers les matchs. P>
Vous n'avez pas besoin de plug-ins pour cela, bien qu'il y ait plusieurs personnes disponibles, essayez de faciliter la gestion des commandes de recherche ou de prendre en charge différentes commandes de recherche (par exemple, les ACK.VIM em>). P > : grep code> Vim déléguette la recherche dans l'outil Externe grep code> (ou une alternative compatible comme ack code>, défini via 'Grepprg' code>). Vous pouvez également utiliser : vimgrep code>, qui effectue la recherche à l'intérieur de Vim. Cela permet d'utiliser les mêmes expressions ordinaires et modèles de globules ordinaires de style VIM (comme ** / code>), mais il est généralement plus lent car chaque fichier est lu dans un tampon VIM. P>
Non, vous ne besoin em> n'importe quel plugin. La valeur par défaut recherche recherche : vimgrep code> (ou : vim code>) est tout ce que vous besoin em>. foo code> dans chaque Fichier dans le répertoire actuel: p> FOO code> dans chaque fichier JavaScript dans le répertoire actuel: P> :vim <C-r><C-w> * | cw
:vim <cword> * | cw
A l'air agréable, mais y a-t-il un moyen d'ouvrir un fichier avec l'un des résultats trouvés sans concentrer sa mémoire tampon?
Bien sûr. Voir : H Quickfix Code>. Par exemple : CC5 CODE> Pour passer au numéro d'erreur 5, : CN code> Pour passer à l'erreur suivante, : CN code> ou : CP < / Code> Pour passer à l'erreur précédente ...
N'oubliez pas: lvimgrep (avec : lopène code>, :: herwind code>, : lnext code>, : lprev code>, et Même : loup code>, : lnewer code> - il s'agit plutôt de darn génial et n'interfère pas avec votre cycle Quickfix ordinaire