How can I get Vim to indent all the lines in a list item - not just the second?

17

4

The n option of Vim's formatoptions setting will indent the second line of a list item to match the indentation of the first line. However, the third and subsequent lines revert to no indentation, thus:

1. Doing a list. This is my list. I am writing
   a list. It's quite a long list. It's really
long. I can't believe how long it is. And
this just the first item!

2. Another list item.

I'd really like it to indent all the lines, like this:

1. Doing a list. This is my list. I am writing
   a list. It's quite a long list. It's really
   long. I can't believe how long it is. And
   this just the first item!

2. Another list item.

Is this possible, either using Vim's own options, a script, or an external formatting program, such as par?

Rich

Posted 2011-01-21T16:35:40.163

Reputation: 2 000

Answers

16

I think just setting 'autoindent' should fix that. It does for me.

set ai

garyjohn

Posted 2011-01-21T16:35:40.163

Reputation: 29 085

See @akira's answer for a more in-depth solution.

– Clint Pachl – 2018-03-28T03:38:10.487

6http://vimdoc.sourceforge.net/cgi-bin/vimfaq2html3.pl#14.4 – akira – 2011-01-22T06:45:16.313

2Works for me too, and I feel stupid for not figuring it out myself, especially seeing as it's right there in the documentation for the 'n' setting! Thanks. – Rich – 2011-01-23T15:02:07.113

@akira Yup. I am an idiot. I think my confusion was that because Vim was indenting the second line, I presumed that I had autoindent switched on already, and that the behaviour described in the question was the designed behaviour. I do think the manual could be worded more clearly, though, to benefit idiots such as myself. :) – Rich – 2011-02-01T17:44:55.100

5

in your case i would do this:

 :set autoindent       " just for interactive indenting (see answer of @Rich) 
 :set fo+=2n           " :help fo-table
 :set tw=47            " your text shall wrap at xyz

(the tw=47is important for ..) and then reformat a paragraph by pressing gqap

note: i couldnt reindent the paragrap with = either, maybe someone else figured that out.

akira

Posted 2011-01-21T16:35:40.163

Reputation: 52 754

Thank you for reminding me of the a p motion to format lines. I always use the right brace, which is similar. Don't forget you can add a count, for example, format the next three paragraphs: g q 3 }. – Clint Pachl – 2018-03-28T03:33:52.043