Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Vim incremental search during substitution

Tags:

regex

vim

I am terrible at writing vim regular expressions. Whenever I write one to do a substition, it never works the first time because I inevitably end up writing something Perl instead of vim. I fare a lot better when doing a simple search because I have incsearch turned on and I can see in real-time whether my pattern matches.

Is there a way I can have the s command act like / (performing an incremental search) while I am attempting to write a proper pattern?

like image 925
djs Avatar asked Nov 30 '11 17:11

djs


2 Answers

I'm not sure but I think there is not a way to do it. By the way, I use a little trick to speed up my substitutions. If you do something like:

:%s//bar

on the command line Vim will use your latest search. So, it's not exactly what you need but still a way to increase a bit your speed doing substitutions.

like image 79
lucapette Avatar answered Oct 06 '22 00:10

lucapette


You could try this little trick to compose your search pattern using incsearch and then copy pattern into command line substitution:

  1. Compose pattern using normal mode /... You can see your patterns are matching. The last pattern will be stored in the @/ register.

  2. Go to command line mode and enter this partial line: :%s/

  3. Now press these keys: <c-r>=@/ This will copy last search pattern into the substitute command you're writing. ( <c-r> is pressing control-r key, not typing in the characters.)

like image 32
Herbert Sitz Avatar answered Oct 06 '22 01:10

Herbert Sitz