충돌하는 두 정규 표현식에, 나는 /
앞에 모든 라인의 첫 단어를 캡처 한 hi def link
에 할당하려고 노력하고 있어요 두 번째 모든 줄의 단어 (/
및 /
으로 묶음)을 두 번째 hi def link
에 할당합니다. argTwo
로빔 정규식 : 사내 언어에 대한 문법 파일을 작성하려고에서
cmo/create/mo1///tri
createpts/brick/xyz/2,2,2/0.,0.,0./1.,1.,1./1,1,1
내가
cmo
을 포착하려고
및 argOne
등 createpts
및 create
및 brick
: 구문에 대한
syn match argOne '^\zs[^\/]\+\ze\/'
syn match argTwo '^[^\/]\+\/\zs[^\/]\+\ze\/'
hi def link argOne Type
hi def link argTwo Statement
문제는 그들이 충돌이 : 때 모두 sys match
을 문이있는 경우 Vim은 argOne
에서 발견 된 문구 만 캡처합니다. 그러나 두 개의 파일 중 하나 인 syn match
중 하나가 주석 처리 된 경우 argOne
또는 argTwo
이 완벽하게 작동합니다.
어떻게이 두 문장을 서로 멋지게 연출할 수 있습니까?
syn match argOne '^\zs[^\/]\+\ze' contained
syn match argTwo '\/\zs[^\/]\+\ze\/' contained
syn match argOneTwo '^\zs[^\/]\+\/[^\/]\+\ze\/' contains=argOne,argTwo
hi def link argTwo Statement
hi def link argOne Type
위대한 작품! 고맙습니다! –