Une autre approche, en fonction de votre cas d'utilisation, serait d'utiliser vimgrep et ses résultats dans quickfix . Vous pouvez effectuer les opérations suivantes :
:vimgrep pattern %
recherchera le fichier en cours et vous amènera au premier résultat de la recherche. Plus important encore, il place également les résultats dans la "liste des corrections rapides".
:copen
ouvrira alors la liste des corrections rapides dans une fenêtre séparée. 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 alors appuyer sur la touche Entrée ou double-cliquer sur une ligne pour accéder à la ligne correspondante dans votre fichier original.
:colder
vous permettra de revenir aux anciennes listes de corrections rapides (anciens résultats de vimgrep). Et :cnewer
avance vers des résultats de recherche plus récents.
Notez que la liste des corrections rapides est également mise à jour lors de l'exécution de la commande :make
(c'est pourquoi il est appelé quickfix pour la correction des erreurs). Pour cette raison, il existe également une alternative à la liste quickfix appelée "liste de localisation". Pour l'utiliser à la place, vous devez utiliser :lvimgrep
Dans ce cas, utilisez des commandes à préfixe l plutôt que des commandes à préfixe c. :lopen
, :lolder
, :lnewer
.
Il y a, bien sûr, beaucoup d'autres choses 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 des lignes et les annule ensuite. Mais puisque vous avez marqué g/ERROR
comme la réponse, j'ai pensé qu'une manière rapide et sale est de faire g!/ERROR/d
. Vous pouvez ensuite l'annuler facilement en utilisant u
. Aussi pour info, vous pouvez faire :set hlsearch
pour mettre en évidence les motifs assortis à :g
des commandes.
0 votes
vi.stackexchange.com/q/2280/12111