Enquanto o Vim suporta recuo automático em listas, a configuração padrão abrange apenas listas ordenadas, começando com dígitos, como:
1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
2. veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
Não consegui descobrir como estender isso para listas desordenadas e com marcadores, como:
* Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
Alterar o formatlistpat
RegEx não levou aos resultados desejados (na verdade, ele até quebrou as listas ordenadas).
[]
, é mais rápido usar[[:digits:]*]
ou[\d*]
melhor do que #[0-9*]
let
, em vez deset
, por exemplo:let &formatlistpat='^\s*\(\d\+[\]:.)}\t ]\|[*-][\t ]\)\s*'
. (Isso adiciona suporte para*
e-
como balas, além de números.)comments
variável, apesar de ser a parte do meio de um comentário de três partes, vamos vim confundir o asterisco com um comentário de linha.Além do que jamessan escreveu (em particular sua
formatlistpat
sugestão para trabalhar com * listas), é importante ter a opção 'c' (formatação de comentários) desabilitada emformatoptions
:caso contrário, o Vim fica confuso entre a formatação de * listas com marcadores e a formatação de comentários. Você acaba com um * extra na segunda e na seguinte linhas.
fonte
q
(permitir formatação de comentários comgq
)formatoptions
pode causar problemas ao formatar comgq
. +1Como tive problemas para obter listas como
a)
reconhecidas, postarei minha solução aqui:fonte
Estou escrevendo uma nova resposta para esta pergunta porque tive que combinar várias respostas desta e de outra pergunta para fazer esse trabalho. Aqui está minha configuração final.
fonte