답변:
예! 에 c
플래그를 사용하십시오 :substitute
. 보낸 사람 :help substitute
:
[c] Confirm each substitution. Vim highlights the matching string (with
hl-IncSearch). You can type: :s_c
'y' to substitute this match
'l' to substitute this match and then quit ("last")
'n' to skip this match
<Esc> to quit substituting
'a' to substitute this and all remaining matches {not in Vi}
'q' to quit substituting {not in Vi}
CTRL-E to scroll the screen up {not in Vi, not available when
compiled without the +insert_expand feature}
CTRL-Y to scroll the screen down {not in Vi, not available when
compiled without the +insert_expand feature}
사용 예는 파이처럼 간단합니다.
%s/old/new/c
이것은 매우 유용하지만 2 주 전까지는 알지 못했습니다 :-) 그리고 심지어 ol 'vi :-)에서도 사용할 수 있습니다.
보너스 팁 : 사용하고 싶을 수도 있습니다 :set nowrapscan
; 이렇게하면 Vim이 바닥에 닿을 때 위로 포장되지 않습니다. 플래그를 사용할 때 특히 유용한 것으로 나타났습니다 c
.
Carpetsmoker가 말한 것 외에도 :
Vim 의 &incsearch
( set incsearch
) 설정은 정말 유용합니다. 유용하고 거의 알려지지 않은 트릭과 함께 사용할 수 있습니다.
트릭은 /
또는 ?
명령을 사용하여 복잡한 정규식을 시험해 보는 것 입니다. Vim은이 &incsearch
설정을 사용하여 일치하는 대화식을 표시합니다. 정규식에 만족하면 :%s//replacement
vim이 이전 검색을 사용 하도록 할 수 있습니다 .
부품 //
이 비어있는 방법 (텍스트를 검색 할 위치)을 확인하십시오. 비워두면 Vim에게 이전 검색 정규식을 사용하도록 지시합니다. 이것으로 복잡한 정규 표현식을 입력하고의 /
모든 이점을 누릴 set incsearch
수 있으며 %s//replacement
명령을 사용하여 실제로 검색 및 바꾸기를 실행할 수 있습니다.
incsearch와 비슷한 :s
명령 을 원한다면 vim-over를 확인하십시오 .하지만 기본 Vim 방식을 선호합니다.
내가 가장 좋아하는 대화식 대체 방법은을 사용하여 검색/ 하고 일치하는 항목 을 탐색 하는 것 n입니다.
그런 다음 선택 일치 사용하여 gn다음 s을 대체 내가 원하는대로 텍스트를.
그리고 다음 경기로 이동하고를 눌러 반복하십시오.
:s/old/new/gc
) 이전 경기로 갈 수 있기 때문에 매우 좋은 트릭 입니다.
Neovim에는 입력하는 동안 명령 'inccommand'
결과를 미리 볼 수 있는 옵션 도 :s
있습니다.
:%s/pattern/replace/
하고u
실행 취소 를 위해 누르십시오. Vim이hlsearch
활성화 된 경우 변경된 부분을 볼 수 있습니다 . 이 텍스트를 다시로 바꿀 수 있습니다^R
.