J'utilise Vim avec formatoptions +=a
comme décrit dans Vim: habillage de mots pour les documents pour formater automatiquement les lignes pendant que j'écris des documents, en particulier des documents Markdown.
Mon problème est que Vim veut reformater également les listes à puces car il y a une ligne vide entre chaque puce.
Ce qui se passe, c'est que Vim reformate
This is wath we will do:
* task 1,
* task 2,
* task 3.
dans
This is wath we will do:
* task 1, task 2, task 3.
(Je ne comprends pas non plus pourquoi les astérisques disparaissent dans ce processus de reformatage.)
Comment puis-je empêcher Vim de reformater ces listes?
Réponses:
Essaye ça:
n
pourformatoptions
que vim reconnaisse les listes (:set fo+=n
)formatlistpat
option pour reconnaître l'astérisque comme des puces (set flp+=\\\|^\\*\\s*
) (notez que le nombre de barres obliques inverses dépend de votremagic
niveau de ness).Ce n'est pas parfait sur la base de mes tests, mais il semble être proche.
la source
L'
filetype
option est-elle définiemarkdown
lorsque vous modifiez vos fichiers Markdown? Vous pouvez utiliser:verbose set filetype?
pour inspecter la valeur actuelle.Lorsque vous avez exécuté
:filetype plugin on
(par exemple à partir de votre.vimrc
), etfiletype
est réglé surmarkdown
, Vim la source$VIMRUNTIME/ftplugin/markdown.vim
qui fixera certaines options (comments
,formatlistpat
etformatoptions
) qui devrait aider à le formatage des éléments de liste Markdown.Remarque: Le modèle de nom de fichier Markdown commun
*.md
est en fait mappé au type de fichiermodula2
par$VIMRUNTIME/filetype.vim
. Vous voudrez peut-être remplacer ce paramètre si vous utilisez couramment ce modèle de nom de fichier pour vos fichiers Markdown. Vous pouvez le faire en mettant ceci dans votre.vimrc
fichier:Alternativement, vous pouvez ajouter une modélisation à chaque fichier:
la source
vim-markdown
plugin devrait être suffisant, mais vous devez activer sa fonctionnalité (et celle des autres plugins de type de fichier) avec:filetype plugin on
. Tu vois:help :filetype-plugin-on
.