我已经问过一个关于语法高亮的问题,但这似乎(对我来说)有所不同,我在 Stackoverflow 中找不到答案。
1) 假设我想在 Vim 中建立一个 Todo 列表。此待办事项列表应该有任务 + 3 个不同突出显示的“区域”:
- 任务(例如洗车),总是在开始,应该保持简单的非高亮文本
- 必须做那件事的人——我自己——前面是@。我希望它以(例如)绿色突出显示
- 任务的类别 - 这里是家庭 - 以§开头。我希望它是黄色的
- 任务的重要性——这里稍后——,前面是我要红色的#。
因此结果应该是(一行):
洗车@myself(绿色)§Household(黄色)#Later(红色)
我试图定义第一个以@开头,以§结尾的区域,第二个以§开头并以#结尾的区域,以及第三个以#开头并以$结尾的区域。
:syntax region xPers start ='@' end='§'
hi xPers ctermfg=DarkGreen
:syntax region xProject start ='§' end='#'
hi xProject ctermfg=DarkYellow
:syntax region xImportance start ='#' end='$'
hi xImportance ctermfg=DarkRed
无济于事......任务本身之后的所有指示,以@开头,都以绿色突出显示。
我的(不可原谅的)错误是什么?
2)为了让事情更复杂,我可能会乱写任务,写:
洗车@myself(绿色)#Later(红色)§Household(黄色)
应该如何定义语法以考虑到这种缺乏纪律性并保持颜色正确?
提前致谢