Evitar a reformatação de listas de marcadores com formatações + = a

7

Estou usando o Vim com formatoptions +=a , conforme descrito em Vim: quebra de linha para documentos para formatar linhas automaticamente enquanto escrevo documentos, especificamente documentos Markdown.

Meu problema é que o Vim também quer reformatar as listas de marcadores porque existe uma linha em branco entre cada ponto.

O que acontece é que o vim reformata

This is wath we will do:

* task 1,
* task 2,
* task 3.

em

This is wath we will do:

* task 1,   task 2,   task 3.

(Eu também não entendo porque os asteriscos desaparecem neste processo de reformatação).

Como posso fazer com que o Vim pare de reformatar essas listas?

    
por gioele 09.02.2012 / 16:40

2 respostas

3

Tente isto:

  • adicione n a formatoptions para que o vim reconheça listas ( :set fo+=n )
  • defina a opção formatlistpat para reconhecer o asterisco como marcadores ( set flp+=\\|^\*\s* ) (observe que o número de barras invertidas depende do nível magic ness).

Não é perfeito com base nos meus testes, mas parece estar próximo.

    
por 10.02.2012 / 06:00
2

A opção filetype está definida como markdown quando você está editando seus arquivos Markdown? Você pode usar :verbose set filetype? para inspecionar o valor atual.

Quando você executar :filetype plugin on (por exemplo, de .vimrc ) e filetype estiver definido como markdown , o Vim fornecerá $VIMRUNTIME/ftplugin/markdown.vim que definirá algumas opções ( comments , formatlistpat e formatoptions ) que devem ajudar a formatar os itens da lista Markdown.

Observação: o padrão comum de nome de arquivo de Markdown *.md está realmente mapeado para o tipo de arquivo modula2 por $VIMRUNTIME/filetype.vim . Você pode querer substituir essa configuração se você costuma usar esse padrão de nome de arquivo para seus arquivos Markdown. Você poderia fazer isso colocando isso no arquivo .vimrc :

autocmd! filetypedetect BufNewFile,BufRead *.md setfiletype markdown

Como alternativa, você pode adicionar uma modelina a cada arquivo:

<!-- vim: set filetype=markdown : -->
    
por 10.02.2012 / 10:38

Tags