또는 foo안의 문자열을 검색하는 경우 다음 과 같이 작동합니다.$...$$$...$$
\$.*\zsfoo
이것은 $문자에 일치하는 것을 고정 시키지만 문자열 만 선택합니다 foo.
실제로 쉬운 해결책은 아니지만 :global+ :substitute를 사용하여 "수학 영역"을 찾아서 그 내부를 검색 할 수 있습니다.
:global /\v\\begin\{%(align|alignat|displaymath)\}/ +1,/\\end/-1 s/foo/&/gc
:substitute검색 명령 인 척 하면 다음 항목으로 이동하여를 n종료 할 수 있습니다 q. 실수로 교체를 확인하면 아무런 문제가 없습니다.
당신은 목록 내부를 설정해야합니다 %(... )당신이 사용하는 수학 환경의 이름으로 (전체 목록은 약간 무거운이다 align|alignat|displaymath|eqnarray|equation|flalign|gather|math|multline|subequations|xalignat|xxalignat). \v여기서는 매우 마술 ( ) 패턴을 사용하고 있습니다.
설명:
:global전직 명령을 (실행 :s패턴 일치 (여기서 각 줄에) :help :global)
/\v매우 매직 패턴을 시작 ( :h /, :h pattern, :h magic)
\\begin\{리터럴 일치 \begin{
%(align|alignat|displaymath)일치에게 이러한 단어 중 하나를 ( :h /\%(, :h /bar)
\}/문자 그대로 일치 }하고 패턴을 종료합니다.
+1,/\\end/-1다음 행으로 이루어진 범위 (하나의 계산에 의해 발견 :global한 검색 패턴을 발견하기 전에 행까지)를 /\\end. 그 범위 내에서
s/foo/&/gc리터럴 발생할 때마다 교체 수색 foo(확인 후, 자체를 :h :substitute)