Como faço para o Vim recuar todas as linhas de um item da lista - não apenas o segundo?

17

A nopção da formatoptionsconfiguração do Vim recuará a segunda linha de um item da lista para corresponder ao recuo da primeira linha. No entanto, a terceira e as linhas subsequentes revertem para nenhum recuo, assim:

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.

Eu realmente gostaria que recuasse todas as linhas, assim:

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.

Isso é possível, usando as opções do Vim, um script ou um programa de formatação externo, como o par?

Rico
fonte

Respostas:

16

Eu acho que apenas definir 'autoindent' deve corrigir isso. Faz por mim.

set ai
garyjohn
fonte
2
Funciona para mim também, e me sinto estúpido por não ter descoberto isso sozinho, principalmente porque está lá na documentação da configuração 'n'! Obrigado.
Rich
@akira Yup. Eu sou um idiota. Acho que minha confusão foi que, como o Vim estava recuando na segunda linha, presumi que já havia autoindentligado e que o comportamento descrito na pergunta era o comportamento planejado. Eu acho que o manual poderia ser redigido com mais clareza, no entanto, para beneficiar idiotas como eu. :)
rico
Consulte a resposta da @ akira para obter uma solução mais aprofundada.
Clint Pachl
5

no seu caso, eu faria isso:

 :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

( tw=47é importante para ..) e reformate um parágrafo pressionandogqap

nota: eu não consegui reindent o paragrap com =qualquer um, talvez alguém descobriu isso.

akira
fonte
Obrigado por me lembrar da a pmoção para formatar linhas. Eu sempre uso a chave certa, que é semelhante. Não esqueça que você pode adicionar uma contagem, por exemplo, formatar os próximos três parágrafos: g q 3 }.
Clint Pachl