Avec de nombreux tampons ouverts, j'ai besoin d'un moyen simple de rechercher tous les tampons pour une regex et de naviguer sur le résultat de la recherche (liste rapide?) P>
Je sais que je peux J'ai trouvé des plugins pour cela (par exemple, buffergrep), mais je serai surpris si cette tâche simple n'est pas prise en charge de manière naturelle avec un tour de vim .. Est-ce? P> : bufdo code>, et il est facile de rechercher et de remplacer par
% s code>, mais je ne trouve pas un moyen de faire juste un simple rechercher puis naviguer sur les résultats. P>
3 Réponses :
: grep code> & co.
va peuplera Le tampon Quickfix, qui permet une navigation rapide parmi les résultats. P>
Pouvez-vous utiliser cela vers le grep dans les tampons et non des fichiers
@Samer Abukhait: La documentation suggère : appeléqflist ([]) | Bufto Grepadd! quelque chose% code>, avec quelques travaux supplémentaires pour gérer plus de cas.
Gregnadd! semble faire l'affaire. La documentation n'est pas assez claire pour que je puisse la cartographier sur le comportement souhaité ou répondez aux questions telles que (quels sont les éléments de syntaxe? Et / ou puis-je utiliser autre chose autre que "%"?). Mais dans tous les cas, j'ai maintenant une façon de faire ce que je voulais, et pour cela, je vous remercie!
Comme pour les tampons déjà chargés, vimgrep code> au lieu de
grep code> est une meilleure solution.
"J'ai trouvé des plugins pour cela (par exemple, buffergrep), mais je serai surpris si cette tâche simple n'est pas prise en charge de manière native avec un tour de vim. Est-ce?"
Pas que je sache. Et l'existence de plusieurs plugins essayant d'offrir cette fonctionnalité a tendance à confirmer cela. . . P>
Quels plugins avez-vous essayé et qu'est-ce qu'ils ont manqué? P>
http://www.vim.org/scripts/script.php?script_id=2545 http://www.vim.org/scripts/script.php?script_id=2255
de : Aide GrepADD CODE>
:grepa[dd][!] [arguments]
Just like ":grep", but instead of making a new list of
errors the matches are appended to the current list.
Example:
:call setqflist([])
:bufdo grepadd! something %
The first command makes a new error list which is
empty. The second command executes "grepadd" for each
listed buffer. Note the use of ! to avoid that
":grepadd" jumps to the first error, which is not
allowed with |:bufdo|.
An example that uses the argument list and avoids
errors for files without matches:
:silent argdo try
\ | grepadd! something %
\ | catch /E480:/
\ | endtry"
Dupliqué possible de Comment rechercher les tampons ouverts dans Vim? < / a>