Jak podkreślić tytuły? (reStructuredText, Markdown, asciidoc style)

13

Różne języki znaczników w postaci zwykłego tekstu: reStructuredText, Markdown, asciidoc (inne też) , użyj podkreślenia do oznaczenia tytułów.

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

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

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

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

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

Czy istnieje wygodny sposób dodania ich w vimie?

dodaj znak o długości pasującej do powyższej linii.

ideasman42
źródło
Nie odpowiada bezpośrednio na twoje pytanie, ale warto powiedzieć, że niektóre języki znaczników (np. Markdown) obsługują #zamiast tego wiodącą postać dla nagłówka poziomu 1, ##dla poziomu 2 itd. W ten sposób piszę Markdown i uważam, że jest to wyraźniejsze w każdym razie w ten sposób.
Andrew Ferrier,
@Andrew Ferrier, nie używam markdown, a pytanie nie dotyczy konkretnie markdown, to tylko przykład znaczników, które mogą używać takich tytułów. Wymieniłem trzykrotnie różne znaczniki, szczególnie w celu uniknięcia dyskusji na temat szczegółów w jednym z języków znaczników.
ideasman42
Rozumiem. To był tylko przypadkowy komentarz dla każdego, kto to robi. Zgadzam się, że twoje pytanie jest całkowicie poprawne.
Andrew Ferrier,

Odpowiedzi:

22

Naiwne podejście (bez wtyczek i skryptów) byłoby EscYpVr=.

Wyjaśnienie:

  • Yp powiela bieżącą linię i umieszcza kursor w dolnej linii.
  • V wybiera drugą linię w trybie linii wizualnej.
  • r=zastępuje wszystkie znaki w wierszu =znakiem.

Możesz oczywiście :noremapustawić tę sekwencję klawiszy według własnego uznania.

na przykład:

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

... pozostawiając ostatni znak, abyś mógł wpisać cokolwiek chcesz dla tytułu.

200_sukces
źródło
2
W żadnym wypadku nie jest to naiwne.
romainl
2
@romainl to tylko naiwne, dopóki nie zamapujesz tego na coś krótszego
Dhruva Sagar