小编Tao*_*hyn的帖子

Vim Markdown突出显示(列出项目和代码块冲突)

我决定更多地了解vim及其语法突出显示.使用其他人的示例,我正在为Markdown创建自己的语法文件.我见过mkd.vim,它也有这个问题.我的问题是列表项和代码块突出显示之间.

代码块定义:

  • 第一行是空白
  • 第二行以至少4个空格或1个制表符开头
  • 块以空行结束

例:

Regular text

    this is code, monospaced and left untouched by markdown
    another line of code

Regular Text
Run Code Online (Sandbox Code Playgroud)

我的代码块的Vim语法:

syn match mkdCodeBlock   /\(\s\{4,}\|\t\{1,}\).*\n/ contained nextgroup=mkdCodeBlock  

hi link mkdCodeBlock  comment
Run Code Online (Sandbox Code Playgroud)

Unorder List项目定义:

  • 第一行是空白
  • 第二行以[ - +*]开头,后跟空格
  • 列表以空行完成,然后是普通(非列表)行
  • 在行项目之间可以添加任意数量的空白行
  • 通过缩进指定子列表(4个空格或1个制表符)
  • 列表项之后的一行普通文本作为该列表项的延续

例:

Regular text

- item 1

    - sub item 1
    - sub item 2
- item 2
this is part of item 2
so is this


- item 3, still …
Run Code Online (Sandbox Code Playgroud)

regex syntax vim markdown highlight

10
推荐指数
1
解决办法
2870
查看次数

标签 统计

highlight ×1

markdown ×1

regex ×1

syntax ×1

vim ×1