Vim:为纯文本文件(不是 Markdown)生成 table 内容?
Vim: generate table of contents for plain text files (not Markdown)?
我知道 Vim 插件,例如 vim-markdown-toc 等,但它们适用于降价文件。 Vim 中的 plain-text 文件(.txt,或无扩展名)中是否有任何 approaches/suggestions for auto-generating 的目录?例如,类似于:
CONTENTS
∙ Executive Summary
∙ Technical Review
∙ Biomedical Natural Language Processing
∙ Preliminary Work
... 其中(为了方便)headers 可以采用降价语法:
# EXECUTIVE SUMMARY
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
...
# TECHNICAL REVIEW
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
...
## BIOMEDICAL NATURAL LANGUAGE PROCESSING
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
...
# PROPOSED WORK
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
你可以使用类似的东西:
:g/^#* /t0
这会将所有这些行复制到顶部。不幸顺序错误,将其反转:
:0,4g/^/m0
(您可能需要在此处增加数字 4,这是为了您的示例)。然后 select 视觉行模式中的行,并将 #
替换为制表符或空格。
:'<,'>s/#/ /g
然后做一些格式化。您当然可以进一步自动化。
我知道 Vim 插件,例如 vim-markdown-toc 等,但它们适用于降价文件。 Vim 中的 plain-text 文件(.txt,或无扩展名)中是否有任何 approaches/suggestions for auto-generating 的目录?例如,类似于:
CONTENTS
∙ Executive Summary
∙ Technical Review
∙ Biomedical Natural Language Processing
∙ Preliminary Work
... 其中(为了方便)headers 可以采用降价语法:
# EXECUTIVE SUMMARY
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
...
# TECHNICAL REVIEW
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
...
## BIOMEDICAL NATURAL LANGUAGE PROCESSING
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
...
# PROPOSED WORK
Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
你可以使用类似的东西:
:g/^#* /t0
这会将所有这些行复制到顶部。不幸顺序错误,将其反转:
:0,4g/^/m0
(您可能需要在此处增加数字 4,这是为了您的示例)。然后 select 视觉行模式中的行,并将 #
替换为制表符或空格。
:'<,'>s/#/ /g
然后做一些格式化。您当然可以进一步自动化。