-2
맨 위부터 시작하여 특정 패턴에 대해 현재 문서를 검색하는 매크로/함수가 필요합니다. 주석 처리되지 않은 첫 번째 줄에서 중지. 이 정력 스크립트의 예를 들어Vim, 문서 헤더에서 검색
:
그것은, 만약 라인에서 중지는 달리 패턴과 거짓을 발견하는 경우는 true 반환합니다.
모두에게 감사드립니다!
맨 위부터 시작하여 특정 패턴에 대해 현재 문서를 검색하는 매크로/함수가 필요합니다. 주석 처리되지 않은 첫 번째 줄에서 중지. 이 정력 스크립트의 예를 들어Vim, 문서 헤더에서 검색
:
그것은, 만약 라인에서 중지는 달리 패턴과 거짓을 발견하는 경우는 true 반환합니다.
모두에게 감사드립니다!
패턴이 'e'문자라고 가정 해 보겠습니다.
은 주석 처리되지 않은 줄을 검색하지만, 전자 포함합니다 :이 라인 (^
)의 시작을 따르지 않을 것을 확인하는 부정적 예측 (
\@!
)를 사용
/^\%(\s*"\)\@!.*e
을 주석의 시작 부분 (공백 문자와 큰 따옴표 \s*"
)으로 시작하지만 'e'(.*e
)가옵니다. \%(
과 \)
은 닫힌 패턴을 다른 연산자 (예 : 부정적 선견)가 단위로 사용할 수있는 원자로 만듭니다.
match()
:echo match(getline(line('.')), '^\%(\s*"\)\@!.*e') >= 0 ? 'true' : 'false'
를 사용하여, 일치하는 라인에서 명령을 실행하여 현재 행이 일치하는 경우 :g
:g/^\%(\s*"\)\@!.*e/echo "found one"
가 확인하려면 사용하려면, 질문은 일치하는 줄로 무엇을하고 싶습니까?
그냥 "주석 처리되지 않은 첫 경기에서 멈추다"는 뜻입니까? 또는 첫 번째 주석 처리되지 않은 행만 검색 하시겠습니까? –
@PrinceGoulash : 그는 파일 상단의 주석 처리 된 영역 인 헤더에서 주석이없는 첫 번째 줄까지 검색합니다. –
그건 그렇고, @ 필립, 이유는 downvotes을 받고있어 당신이 아무 것도 시도의 징후와 기능을 요구하고 있기 때문입니다. 스택 오버플로는 코드를 제공하는 것이 아니라 코드 문제를 해결하는 데 도움이됩니다. –