Tuesday, June 10, 2014

Re: indent versus previous line

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

--
--
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 vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment