VIM see regular expressions matches as you type

If I type /regex after that the arrow momentarily leaps to the first suit and also all suits are highlighted. This updates as I type. Is it feasible to get this actions when I'm preparing yourself to make a replacement? As an example, when I'm working with a difficult regular expression :%s/\<regex\>/, I would love to recognize what is matching prior to I shoot and also transform every little thing. Any kind of means to do it?

8
2022-06-07 14:41:00
Source Share
Answers: 3

Type your search making use of / (or ? ) to start with, which will certainly permit you to fine-tune your regex (given that you are making use of incsearch)

Once you get it all wonderful, you can make use of the previous search pattern (the one you simply made use of) in the replacement command by utilizing 2 separators for the 'search' thing:

/elephant                       " find the next elephant
:%s//rhino/gc                   " make then all rhinos!

Of training course, you can make use of options and also arrays, as regular.

:1,15s,,cougar,g
:'<,'>s::tiger:
12
2022-06-07 21:27:23
Source

Well, the brief means to see what your regular expression will certainly match is doing a search with / utilizing your wanted regex. It will certainly leap to the first suit and also mark it up while your are keying it. Attempt it - vim will certainly not dissatisfy you.

0
2022-06-07 15:12:28
Source

One alternative is that you can have a verification flag c.

:%s;regex;replacement;gc

:h s_flags :

[c] Confirm each substitution.  Vim highlights the matching string.  You can type:              
        'y'     to substitute this match
        'l'     to substitute this match and then quit ("last")
        'n'     to skip this match
        <Esc>   to quit substituting
        'a'     to substitute this and all remaining matches
        'q'     to quit substituting

You can additionally attempt grep command to see the filtered result and also the highlighted initial documents.

:g/re/p or :g/re/

2
2022-06-07 15:10:43
Source