Une autre approche en fonction de votre cas d'utilisation consisterait à utiliser vimgrep et ses résultats dans quickfix . Vous pouvez faire ce qui suit:
:vimgrep pattern %
recherchera le fichier actuel et vous amènera au premier résultat de la recherche. Plus important encore, il met également les résultats dans la "liste des correctifs rapides".
:copen
ouvrira alors la liste des correctifs rapides dans une fenêtre de correction rapide distincte. Vous aurez donc une fenêtre séparée avec toutes les lignes de votre dernier vimgrep. Dans la fenêtre de correction rapide, vous pouvez ensuite appuyer sur Entrée ou double-cliquer sur une ligne pour sauter à la ligne correspondante dans votre fichier d'origine.
:colder
vous permettra de revenir aux anciennes listes de correctifs rapides (anciens résultats de vimgrep). Et :cnewer
passe aux résultats de recherche plus récents.
Notez que la liste des correctifs rapides est également mise à jour lors de l'exécution :make
(c'est pourquoi elle est appelée correction rapide pour corriger les erreurs). Pour cette raison, il existe également une alternative à la liste de correctifs rapides appelée "liste des emplacements". Pour l' utiliser , vous utilisez à la place :lvimgrep
, utilisez les commandes préfixé l plutôt que des commandes c préfixée - :lopen
, :lolder
, :lnewer
.
Il y a, bien sûr, beaucoup plus que vous pouvez faire. Voir :help quickfix
pour plus d'informations.
PS, vous avez dit que vous ne vouliez pas d'une approche qui supprime les lignes puis les annule. Mais puisque vous avez marqué g/ERROR
comme réponse, j'ai pensé que je voudrais souligner une manière rapide et sale de le faire g!/ERROR/d
. Vous pouvez ensuite l'annuler facilement en utilisant u
. Aussi FYI, vous pouvez faire :set hlsearch
pour mettre en évidence les motifs correspondant aux :g
commandes.