댓글/차단 댓글에 나타나는 용어를 제외하고 vim에서 용어를 검색하는 것이 가능합니까?

댓글/차단 댓글에 나타나는 용어를 제외하고 vim에서 용어를 검색하는 것이 가능합니까?

\<data\>예를 들어, 다음과 같이 여러 줄로 된 블록 주석에 나타나는 항목을 검색하고 싶지만 건너뛰고 싶은 경우 :

/*
 * Don't match comments containing the term 'data'
 */

\(\*.*\)\@<!\<data\>블록 주석이 각 줄에서 항상 a로 시작하지 않기 때문에 너비가 0인 negative-lookbehind를 사용할 수 없습니다 *.

여러 줄로 된 블록 주석 내에서 일치 항목을 제외하는 것은 어렵거나 불가능할 것 같지만 구문 강조는 어떤 섹션이 주석인지 아닌지 식별할 수 있으므로 구문 강조 그룹을 사용하여 정규식 검색을 연결할 수 있는 방법이 있습니까? ?

구문 강조 그룹에 연결하는 것이 가능하다면 다음과 같이 주석에 나타나는 용어뿐만 아니라 문자열에 나타나는 용어도 제외할 수 있습니다.

output = "Sample data: '"+data+"' ...";

그리고 따옴표 바깥의 중간에 있는 데이터만 일치됩니다.

이것이 가능한지 아는 사람이 있나요?

편집하다:적어도 댓글을 제외하고 검색하는 것은 가능합니다. 누군가가 표시한 대로 search() 함수를 정의하고 그 내부에서 하이라이트 그룹을 확인할 수 있습니다.이 스레드. 관련 부분:

search()를 사용한 다음 구문 강조 그룹이 주석인지 확인하십시오. synIDattr(synIDtrans(synID(line("."), col("."), 1)), "name")이 Comment인 경우 search()를 다시 호출합니다.

그러나 나는 이것이 올바른 용어를 강조하는 hlsearch를 떠날 것이라고 생각하지 않습니다.

관련 정보