代码之家  ›  专栏  ›  技术社区  ›  Victoria Stuart

vim:为纯文本文件生成目录(不是标记)?

  •  0
  • Victoria Stuart  · 技术社区  · 6 年前

    我知道Vim插件,比如 vim-markdown-toc 等等,但这些都适用于降价文件。在VIM中,是否有自动生成纯文本文件(.txt或无扩展名)中目录的方法/建议?例如,类似于:

    CONTENTS
    
      ∙ Executive Summary
      ∙ Technical Review
        ∙ Biomedical Natural Language Processing
      ∙ Preliminary Work
    

    …其中(为了方便起见)头部可以采用markdown语法:

    # 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. ...
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   B.G.    6 年前

    你可以用这样的方法:

    :g/^#* /t0
    

    这将把所有这些行复制到顶部。不幸的是,顺序不对,将其颠倒:

    :0,4g/^/m0
    

    (您可能需要在此处增加数字4,这是您的示例)。然后在可视线条模式下选择线条并替换 # 带有制表符或空格。

    :'<,'>s/#/  /g
    

    然后做一些格式化。当然,您可以进一步实现自动化。