Comment souligner les titres? (reStructuredText, Markdown, style asciidoc)

13

Différents langages de balisage en texte brut: reStructuredText, Markdown, asciidoc (d'autres aussi) , utilisent un soulignement pour désigner les titres.

Chapter 1 Title
===============

Section 1.1 Title
-----------------

Subsection 1.1.1 Title
~~~~~~~~~~~~~~~~~~~~~~

Section 1.2 Title
-----------------

Chapter 2 Title
===============

Existe-t-il un moyen pratique de les ajouter dans vim?

ajoutez un caractère dont la longueur correspond à la ligne ci-dessus.

ideasman42
la source
Cela ne répond pas directement à votre question, mais il vaut la peine de dire que certaines langages de balisage (par exemple Markdown) prennent également en charge un #caractère principal à la place pour un titre de niveau 1, ##pour le niveau 2, etc. Voilà comment j'écris Markdown, et je le trouve plus clair de cette façon de toute façon.
Andrew Ferrier
@Andrew Ferrier, je n'utilise pas de démarque et la question ne concerne pas spécifiquement la démarque, c'est juste un exemple de majoration qui peut utiliser des titres comme celui-ci. J'ai répertorié 3 fois les annotations différentes, spécialement pour éviter toute discussion sur les spécificités de l'un des langages de balisage.
ideasman42
Je comprends. C'était juste un commentaire fortuit pour quiconque le fait. Votre question est totalement valable, je suis d'accord.
Andrew Ferrier

Réponses:

22

Une approche naïve (pas de plugins ou de script) serait EscYpVr=.

Explication:

  • Yp duplique la ligne actuelle et place le curseur sur la ligne inférieure.
  • V sélectionne la deuxième ligne en mode Ligne visuelle.
  • r=remplace tous les caractères de la ligne par le =caractère.

Vous pouvez, bien sûr, :noremapcette séquence de touches à votre goût.

par exemple:

" Add Heading: Control-H
nnoremap <C-h> YpVr

... en laissant le dernier caractère afin que vous puissiez taper celui que vous voulez pour le titre.

200_success
la source
2
Ce n'est en aucun cas naïf.
romainl
2
@romainl c'est seulement naïf jusqu'à ce que vous le mappiez à quelque chose de plus court je suppose
Dhruva Sagar