빔 하이라이트는 한 줄 내 문제는 내가 일하고 프로젝트에라는 방법으로 클래스가 있습니다 즉내가 STL 알고리즘을 강조 CPP에 대한 구문 강조를 정규식
syn keywork cppSTL find
입니다 find
이 강조 표시되며 STL 통화에만 강조 표시하고 싶습니다.
syn match cppSTL /[^.>:]\<find\>/ms=s+1
syn match cppSTL /\<std::find\>/ contains=cppScope
syn match cppScope /::/
hi clear cppScope
그리고 그것은 대부분의 시간을 작동합니다.
vector<string>::iterator i = find(find(x.begin(), x.end(), val), x.end(), term);
^^^^
첫 번째 find
가 올바르게 강조하지만, 두 번째는 실패하지만 경우는이 라인에 실패합니다. vim 정규 표현식에 대한 나의 제한된 지식은 일치해야한다고 말하지만, 왜 그것이 맞는지는 알 수 없다.
, 시도 : 전 = (...) 발견; 나는 = 발견 (...); 둘 다 같은 줄에있어. 각 라인에서 처음으로 일치하는 것을 찾는 경우라면 궁금합니다. –
@Brian : 같은 라인에 두 건의 호출이 작동합니다. 내 생각에 문제는 안쪽에 두 번째'찾기 '가 있기 때문이라고 생각합니다. - (find (...)와 같이)'()'와 같은 호출을 둘러싸면 강조 표시가 실패합니다. – Akobold