Vim Markdown traite le bloc de code clôturé comme un commentaire
J'utilise un formatage de texte automatique plutôt astucieux pour Markdown:
(Vu https://asciidoc.org/userguide.html#X61)
augroup TXT | au!
autocmd FileType asciidoc,markdown
\ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2
\ textwidth=70 wrap formatoptions=atqn
\ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*<\\d\\+>\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
\ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>
\ listchars=tab:»·,trail:·
\ list |
autocmd FileType asciidoc,markdown silent! %foldopen!
augroup END
Cette mise en retrait automatique répertorie et maintient mes blocs de texte courts en insérant automatiquement des pauses rigides ou en les supprimant le cas échéant.
Cependant, ce comportement me gêne lors de la saisie de code clôturé, car Vim tente de fusionner des lignes non séparées par un paragraphe jusqu'à ce que la largeur de texte soit atteinte.
Puis-je désactiver complètement le formatage automatique dans le code clôturé? A quoi comments=ressemblerait de tout traiter entre
```
fenced code
```
comme commentaire Vim ne devrait pas se formater automatiquement? Voir l'absence de formatoptions=-cci - dessus dont je suppose que Vim prendrait pour laisser mes commentaires seuls.
Réponses
J'ai peur que ce soit "impossible" à faire avec comments. Le fait est qu'il n'analyse pas s'il s'agit de vrais commentaires ou non - il est en fait traité comme de vrais commentaires. Il a juste été détourné pour des éléments de liste car ils sont similaires dans asciidoc et markdown à ce que sont les commentaires de type C:
/*****************************
* comment line 1
* comment line 2
******************************/
Ainsi, si vous appuyez sur Entrée après la ligne de commentaire 2, il continuera sur la ligne suivante en ajoutant une "puce".
Bien sûr, vous pouvez essayer de mettre en œuvre votre propre solution:
mapper
<CR>en mode insertion vers une fonction dans laquelle vous devez analyser l'environnement, comme la recherche en arrière pour un bloc clôturé commence et s'éteintcommentss'il est trouvéou faites de même sans
commentsmais avec votre propre implémentation d'insertion de puces.
Mais ce serait fragile ou lent ou les deux.