收集vim中的降价标题?

收集vim中的降价标题?,vim,markdown,Vim,Markdown,我正试图提出一个文本文档的TOC目录: 以hashtag VIM开头的行将收集到缓冲区中,或者可能将它们放在文件的顶部 或者-其他想法-删除重复文件中不以 这个问题一定有解决办法…我想你在寻找命令 您可以看到所有以:g/^/p开头的行 并使用:redir命令将它们放入文件中: :redir > toc.txt :g/^#/p :redir END 请注意,如果您设置了行号,toc.txt将包含行号。在这个问题上也存在着分歧 或者,您可以删除所有不以:v或:g开头的行!并将其保存到另一个文

我正试图提出一个文本文档的TOC目录: 以hashtag VIM开头的行将收集到缓冲区中,或者可能将它们放在文件的顶部

或者-其他想法-删除重复文件中不以
这个问题一定有解决办法…

我想你在寻找命令

您可以看到所有以:g/^/p开头的行 并使用:redir命令将它们放入文件中:

:redir > toc.txt
:g/^#/p
:redir END
请注意,如果您设置了行号,toc.txt将包含行号。在这个问题上也存在着分歧

或者,您可以删除所有不以:v或:g开头的行!并将其保存到另一个文件中

:v/\#/d
:w! toc.txt | undo
同时寻找:t和

:global按匹配行在文件中的显示顺序将提供的命令应用于每个匹配行,因此:g/^/t0将头复制到文件顶部,但复制顺序相反。我们可以做:v/^/m$将所有非标题行移到末尾,将标题保留在顶部,但从原始文本中剥离。另一种方法是放置一些标记来标记目录的结尾,并将标题行复制到此标记上方一行:

:g/^#/t?end-toc?-1

有必要使用插件吗?例如,t不会移动线,而是复制them@perelo:redir-解决方案按照我的想法工作。行号有助于找到标记的行!太好了,谢谢!PS:redir还可以复制到缓冲区请参阅vim帮助