Como sublinhar títulos? (reStructuredText, Markdown, estilo asciidoc)


13

Várias linguagens de marcação de texto sem formatação: reStructuredText, Markdown, asciidoc (outras também) , usam um sublinhado para indicar títulos.

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

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

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

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

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

Existe uma maneira conveniente de adicioná-los no vim?

adicione um caractere com um comprimento correspondente à linha acima.


Ele não responde diretamente à sua pergunta, mas vale a pena dizer que alguns langs de marcação (por exemplo, Markdown) também suportam um #personagem principal em vez de um cabeçalho de nível 1, ##para o nível 2, etc. É assim que escrevo o Markdown e acho mais claro assim mesmo.
Andrew Ferrier

@ Andrew Ferrier, eu não estou usando remarcação e a pergunta não é especificamente sobre remarcação, é apenas um exemplo de uma marcação que pode usar títulos como este. Listei 3x marcações diferentes, especialmente para evitar discussões sobre os detalhes em qualquer uma das linguagens de marcação.
ideasman42

Compreendo. Foi apenas um comentário incidental para quem faz. Sua pergunta é totalmente válida, eu concordo.
Andrew Ferrier 6/15

Respostas:


22

Uma abordagem ingênua (sem plugins ou scripts) seria EscYpVr=.

Explicação:

  • Yp duplica a linha atual e coloca o cursor na linha inferior.
  • V seleciona a segunda linha no modo Linha Visual.
  • r=substitui todos os caracteres na linha pelo =caractere.

Você pode, é claro, :noremapessa sequência de teclas ao seu gosto.

por exemplo:

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

... deixando de fora o último caractere para que você possa digitar o que quiser para o título.


2
Isso não é ingênuo por qualquer meio.
Romainl

2
@romainl é apenas ingênuo até que você mapeá-lo para algo mais curto eu acho
Dhruva Sagar
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.