gpt4 book ai didi

vim - 在 vim 中收集 markdown 头条?

转载 作者:行者123 更新时间:2023-12-05 02:11:32 26 4
gpt4 key购买 nike

我正在尝试创建一个文本文档的 TOC(目录):以#(hashtag)开头的行 VIM 将“收集”到缓冲区中或者可能将它们放在文件的顶部。

(或者 - 其他想法 - 删除重复文件中不以 # 开头的所有行)
这个问题必须有解决方案......

最佳答案

我认为您正在寻找 :global命令。

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

:redir > toc.txt
:g/^#/p
:redir END

请注意,如果您有set numbertoc.txt 将包含行号。还有this post关于这个问题。

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

:v/\#/d
:w! toc.txt | undo

另请查找 :copy (:t) 和 :move .

:global 将您提供的命令按照它们在文件中出现的顺序应用于每个匹配的行,因此 :g/^#/t0 会将标题复制到文件的顶部,但相反。我们可以执行 :v/^#/m$ 将所有非标题行移动到末尾,将标题留在顶部但从原始文本中删除。另一种方法是放置一些标记来标记目录的末尾,然后将标题行复制到该标记上方的一行:

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

关于vim - 在 vim 中收集 markdown 头条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57479910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com