On Tuesday, June 10, 2014 11:45:35 AM UTC+2, Christian Brabandt wrote:
> Am 2014-06-10 11:10, schrieb Ni Va:
> 
> > On Tuesday, June 10, 2014 10:30:30 AM UTC+2, Christian Brabandt wrote:
> 
> >> Am 2014-06-10 09:40, schrieb Ni Va:
> 
> >> 
> 
> >> > Hi,
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> > I got a file that contains those lines :
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> > \s\s\s\s\sFOO
> 
> >> 
> 
> >> > BAR1
> 
> >> 
> 
> >> > BAR2
> 
> >> 
> 
> >> > END_OF_BLOCK
> 
> >> 
> 
> >> > \s\s\s\s\sFOO2
> 
> >> 
> 
> >> > BAR1
> 
> >> 
> 
> >> > BAR2
> 
> >> 
> 
> >> > END_OF_BLOCK
> 
> >> 
> 
> >> > \s\s\s\s\sFOO3
> 
> >> 
> 
> >> > BAR1
> 
> >> 
> 
> >> > BAR2
> 
> >> 
> 
> >> > END_OF_BLOCK
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> > I would like to indent all sublines of each BLOCK to be like that :
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> > \s\s\s\s\sFOO
> 
> >> 
> 
> >> >              BAR1
> 
> >> 
> 
> >> >              BAR2
> 
> >> 
> 
> >> >              END_OF_BLOCK
> 
> >> 
> 
> >> > \s\s\s\s\sFOO2
> 
> >> 
> 
> >> >              BAR1
> 
> >> 
> 
> >> >              BAR2
> 
> >> 
> 
> >> >              END_OF_BLOCK
> 
> >> 
> 
> >> > \s\s\s\s\sFOO3
> 
> >> 
> 
> >> >              BAR1
> 
> >> 
> 
> >> >              BAR2
> 
> >> 
> 
> >> >              END_OF_BLOCK
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> >
> 
> >> 
> 
> >> > My file contains 500000 lines so it has to be done automatically
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> That should work:
> 
> >> 
> 
> >> v/^\%(\\s\)\{5}/>
> 
> >> 
> 
> >> 
> 
> >> 
> 
> >> Best,
> 
> >> 
> 
> >> Christian
> 
> > 
> 
> > 
> 
> > 
> 
> > Is there another soluce because the file can contains several indent 
> 
> > level:
> 
> > 
> 
> > \s\s\s\s\sFOO
> 
> > BAR1
> 
> > BAR2
> 
> > END_OF_BLOCK
> 
> > \s\s\s\s\sFOO2
> 
> > BAR1
> 
> > BAR2
> 
> > END_OF_BLOCK
> 
> > \s\s\s\s\s\s\s\s\sFOO3
> 
> > BAR1
> 
> > BAR2
> 
> > END_OF_BLOCK
> 
> > \s\s\sFOO2
> 
> > BAR1
> 
> > BAR2
> 
> > END_OF_BLOCK
> 
> 
> 
> 
> 
> Adjust the regular expression ;)
> 
> :v/^\%(\\s\)\+/>
> 
> That will indent each line, that does *not* start with '\s' by one 
> 
> shiftwidth.
> 
> Does that help you?
> 
> 
> 
> Best,
> 
> Christian

I have triedf with adjusted regex and launching but it take count only of the 
first line indent. I think there is a mistake in your cmd. I correct by this 
one.

:v/^\%\(\s\)\+/>


But it does that 

\s\s\sFOO1
\s\s\sBAR1
\s\s\sBAR2
\s\s\s\s\sFOO2
\s\s\sBAR1
\s\s\sBAR2
\s\s\s\s\s\s\sFOO3
\s\s\sBAR1
\s\s\sBAR2

out of that 
\s\s\sFOO1
\s\s\sBAR1
\s\s\sBAR2
\s\s\s\s\sFOO2
\s\s\s\s\sBAR1
\s\s\s\s\sBAR2
\s\s\s\s\s\s\sFOO3
\s\s\s\s\s\s\sBAR1
\s\s\s\s\s\s\sBAR2

 

-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to