Vim으로 블록 검색 및 교체를 어떻게합니까?


8

Vim에 텍스트가 있습니다

  1. 히트 Ctrl+V블록 모드에 정력을 넣어
  2. 내가 원하는 텍스트를 강조
  3. :이 프롬프트를 입력 하십시오:'<,'>
  4. 프롬프트에 내 정규 표현식을 추가합니다 s/ /*/g. 이로 :'<,'>s/ /*/g인해 텍스트가 강조 표시됩니다.
  5. 나는 엔터를 쳤다

불행히도 블록뿐만 아니라 블록의 전체 라인에서 작동합니다. 어쨌든 블록 검색 및 교체를 수행해야합니까?

답변:


12

비주얼 블록 모드에서 ex 명령을 사용할 때는 :항상 전체 라인에서 작동합니다. 이 문제에는 두 가지 방법이 있습니다.

  1. \%V원자만을 시각적 영역 내에 일치한다. 시험

    :'<,'>s/\%V /*/g
    

    보다 :help %V

  2. 라이브 v_s 또는 v_r과 같은 일부 명령의 특수한 시각적 버전이 있습니다. 보다:help visual-operators

이 작업을 수행하는 방법을 알 수 없습니다
Evan Carroll

\ % V 아톰은 시각적 선택 내에서만 일치하도록 패턴을 제한합니다. 시도:'<,'>s/\%V /*/g
DaveParillo

1
이 페이지는 당신이하려는 일에 대한 좋은 글을 가지고 있습니다. vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection
DaveParillo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.