Come sottolineare i titoli? (reStructuredText, Markdown, stile asciidoc)


13

Vari linguaggi di markup in testo semplice: reStructuredText, Markdown, asciidoc (anche altri) , usano una sottolineatura per indicare i titoli.

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

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

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

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

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

C'è un modo conveniente per aggiungere questi in vim?

aggiungi un carattere con una lunghezza corrispondente alla linea sopra.


Non risponde direttamente alla tua domanda, ma vale la pena dire che alcuni lang markup (ad esempio Markdown) supportano anche un #personaggio principale invece per un'intestazione di livello 1, ##per livello 2, ecc. È così che scrivo Markdown e lo trovo più chiaro in quel modo comunque.
Andrew Ferrier,

@Andrew Ferrier, non sto usando il markdown e la domanda non riguarda specificamente il markdown, è solo un esempio di markup che può usare titoli come questo. Ho elencato 3 diversi markup in particolare per evitare discussioni sui dettagli su uno dei linguaggi di markup.
ideasman42

Capisco. Era solo un commento accidentale per chiunque lo facesse. La tua domanda è totalmente valida, sono d'accordo.
Andrew Ferrier,

Risposte:


22

Un approccio ingenuo (nessun plugin o scripting) sarebbe EscYpVr=.

Spiegazione:

  • Yp duplica la riga corrente e posiziona il cursore sulla riga inferiore.
  • V seleziona la seconda riga in modalità Visual Line.
  • r=sostituisce tutti i caratteri sulla linea con il =personaggio.

Puoi, ovviamente, :noremapquella sequenza di tasti a tuo gusto.

per esempio:

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

... tralasciando l'ultimo carattere in modo da poter digitare quello che vuoi per il titolo.


2
Questo non è affatto ingenuo.
Romainl,

2
@romainl è solo ingenuo fino a quando non lo associ a qualcosa di più corto, immagino
Dhruva Sagar,
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.