Evita di riformattare gli elenchi puntati con formatoptions + = a


9

Sto usando Vim con formatoptions +=acome descritto in Vim: parola a capo per i documenti per formattare automaticamente le linee mentre scrivo documenti, in particolare i documenti Markdown.

Il mio problema è che Vim vuole riformattare anche gli elenchi puntati perché c'è una linea vuota tra ogni punto elenco.

Quello che succede è che Vim riformatta

This is wath we will do:

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

in

This is wath we will do:

* task 1,   task 2,   task 3.

(Inoltre non capisco perché gli asterischi scompaiono in questo processo di riformattazione.)

Come posso fare in modo che Vim smetta di riformattare queste liste?


Gli asterischi scompaiono perché Vim li ha scambiati per commenti leader.
gioele,

Risposte:


5

Prova questo:

  • aggiungi na formatoptionscosì vim riconosce gli elenchi ( :set fo+=n)
  • imposta l' formatlistpatopzione per riconoscere l'asterisco come punti elenco ( set flp+=\\\|^\\*\\s*) (nota che il numero di barre rovesciate dipende dal tuo magiclivello di identità).

Non è perfetto sulla base dei miei test ma sembra essere vicino.


3

L' filetypeopzione è impostata su markdownquando modifichi i tuoi file Markdown? È possibile utilizzare :verbose set filetype?per ispezionare il valore corrente.

Dopo aver eseguito :filetype plugin on(ad esempio dalla tua .vimrc), e filetypeviene impostato markdown, Vim fonte $VIMRUNTIME/ftplugin/markdown.vimche consentirà di definire alcune opzioni ( comments, formatlistpat, e formatoptions) che dovrebbero aiutare con la formattazione Markdown voci di elenco.

Nota: il modello comune di nome file Markdown *.mdè attualmente mappato al tipo di modula2file $VIMRUNTIME/filetype.vim. È possibile ignorare questa impostazione se si utilizza comunemente questo modello di file per i file Markdown. Puoi farlo inserendo questo nel tuo .vimrcfile:

autocmd! filetypedetect BufNewFile,BufRead *.md setfiletype markdown

In alternativa, è possibile aggiungere una modeline a ciascun file:

<!-- vim: set filetype=markdown : -->

I file di sintassi di tpope (quello che sto usando) impostano formatlistpath in github.com/tpope/vim-markdown/blob/master/ftplugin/markdown.vim . Per alcuni motivi sembra che il ftplugin non sia caricato ...
Gioele,

1
Quel vim-markdownplug-in dovrebbe essere sufficiente, ma è necessario abilitare la sua funzionalità (e quella di altri plug-in di tipo di file) con :filetype plugin on. Vedere :help :filetype-plugin-on.
Chris Johnsen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.