代码之家  ›  专栏  ›  技术社区  ›  mhartington

git合并冲突的Vim正则表达式

  •  4
  • mhartington  · 技术社区  · 8 年前

    我正在制作一个插件,为vim中存在合并冲突的文件添加语法组。

    <<<<<<< HEAD
    ourselves
    =======
    themselves
    >>>>>>> deadbeef0123
    

    当前正则表达式 <<<<<<< HEAD =======

    syntax region conflictHead containedin=ALL start=/^<<<<<<< \@=/ end=/^=\@=/
    

    之后 =======

    syntax region conflictMerge containedin=ALL start=/^=======$\@<!/ end=/^>>>>>>> \@=/
    

    enter image description here

    有什么提示吗?

    1 回复  |  直到 5 年前
        1
  •  3
  •   user852573    8 年前

    syn region conflictMerge containedin=ALL start=/^=======$\@<!/ end=/^>>>>>>> \@=/
    

    也许你可以替换模式:

    ^=======$\@<!
    

    ^=======\zs$
    

    ======= >>>>>>> .

    \zs 看见 :h \zs 基本上,它从匹配中排除了之前的所有内容,并将其用作积极断言(之前的内容必须在您真正感兴趣的匹配之前出现)。