2012-01-14 2 views
-2

맨 위부터 시작하여 특정 패턴에 대해 현재 문서를 검색하는 매크로/함수가 필요합니다. 주석 처리되지 않은 첫 번째 줄에서 중지. 이 정력 스크립트의 예를 들어Vim, 문서 헤더에서 검색

:

그것은, 만약 라인에서 중지는 달리 패턴과 거짓을 발견하는 경우는 true 반환합니다.

모두에게 감사드립니다!

+0

그냥 "주석 처리되지 않은 첫 경기에서 멈추다"는 뜻입니까? 또는 첫 번째 주석 처리되지 않은 행만 검색 하시겠습니까? –

+0

@PrinceGoulash : 그는 파일 상단의 주석 처리 된 영역 인 헤더에서 주석이없는 첫 번째 줄까지 검색합니다. –

+2

그건 그렇고, @ 필립, 이유는 downvotes을 받고있어 당신이 아무 것도 시도의 징후와 기능을 요구하고 있기 때문입니다. 스택 오버플로는 코드를 제공하는 것이 아니라 코드 문제를 해결하는 데 도움이됩니다. –

답변

1

패턴이 'e'문자라고 가정 해 보겠습니다.

은 주석 처리되지 않은 줄을 검색하지만, 전자 포함합니다 :이 라인 ( ^)의 시작을 따르지 않을 것을 확인하는 부정적 예측 ( \@!)를 사용

/^\%(\s*"\)\@!.*e 

을 주석의 시작 부분 (공백 문자와 큰 따옴표 \s*")으로 시작하지만 'e'(.*e)가옵니다. \%(\)은 닫힌 패턴을 다른 연산자 (예 : 부정적 선견)가 단위로 사용할 수있는 원자로 만듭니다.

이 정규식은 거의 항상 동일 match()

:echo match(getline(line('.')), '^\%(\s*"\)\@!.*e') >= 0 ? 'true' : 'false' 

를 사용하여, 일치하는 라인에서 명령을 실행하여 현재 행이 일치하는 경우 :g

:g/^\%(\s*"\)\@!.*e/echo "found one" 

가 확인하려면 사용하려면, 질문은 일치하는 줄로 무엇을하고 싶습니까?

관련 문제