各种纯文本标记语言:
reStructuredText,Markdown,asciidoc(也包括其他语言),
使用下划线表示标题。

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

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

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

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

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


是有没有方便的方法在vim中添加这些字符?

添加长度与上面的行匹配的字符。

评论

它并不能直接回答您的问题,但是值得一提的是,某些标记语言(例如Markdown)也支持前导#字符,而不是1级标题,##则是2级,等等。这就是我编写Markdown的方式,无论如何都可以更清楚地找到它。

@Andrew Ferrier,我没有使用markdown,问题不是专门针对markdown的,它只是可以使用此类标题的标记示例。我列出了3种不同的标记,尤其是为了避免讨论任何标记语言的细节。

我明白。对于任何这样做的人来说,这只是一个偶然的评论。我同意,您的问题完全有效。

#1 楼

天真的方法(没有插件或脚本)将是EscYpVr =。

解释:




Yp复制当前行并将光标放在

V在可视行模式下选择第二行。
=字符替换该行上的所有字符。

您当然可以按自己的喜好:noremap击键顺序。

例如:

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


...省略最后一个字符因此您可以输入想要的标题。

评论


这绝不是天真的。

– romainl
2015年2月5日在7:42

@romainl只有天真,除非您将其映射到更短的内容

–德鲁瓦·萨加尔(Dhruva Sagar)
2015年2月5日,7:55