[regex] VIM 찾기 / 검색에서 백 슬래시와 슬래시를 어떻게 이스케이프합니까?

예를 들어, 역 슬래시 나 슬래시가 포함 된 문자열을 찾아서 바꾸고 싶다면 vim에서 어떻게이 작업을 수행 할 수 있습니까? 감사합니다!

찾기 및 바꾸기는 다음과 같습니다. :%s/foo/bar/g

모든 발생을 찾고 다음으로 <dog/>바꾸 려면 어떻게해야합니까?<cat\>



답변

Linux 프로그램에서 대부분의 다른 곳에서 백 슬래시를 사용하여 문자를 이스케이프하는 것과 같은 방법입니다.

:%s/<dog\/>/<cat\\>

그러나 대신 다른 구분 기호를 선택할 수 있습니다.

:%s@<doc/>@<cat\\>@

이렇게하면 많은 시간이 소요되고 혼란스러운 백 슬래시를 수많은 슬래시가있는 패턴으로 입력 할 수 있습니다.

로부터 문서 :

대신의 /패턴 및 교체 문자열을 둘러싸을, 당신은 다른 싱글 바이트 문자가 아닌 영숫자 사용할 수 있습니다
\, "또는 |. /검색 패턴 또는 대체 문자열에 를 포함하려는 경우 유용 합니다.


답변

%s:<dog/>:<cat>

특정 패턴에 대해 성가신 경우 / 구분 기호를 바꿀 수 있습니다.


답변

백 슬래시로 인용하십시오. 또한 슬래시 외에 다른 구분 기호를 사용하는 것도 도움이됩니다.

 :%s#<dog/>#<cat\\>#

또는 대체 명령 구분 기호로 슬래시를 사용해야하는 경우

 :%s/<dog\/>/<cat\\>/


답변

구문은 다음과 같습니다.

:%s/<dog\/>/<cat\\>/g


답변

/문자를 포함하는 레지스터 값을 검색하기 위해 비슷한 것을 찾고있었습니다 (매크로를 기록하기 위해). 이 솔루션은 사용하여 검색하는 것이 었습니다 ?대신의 토큰을 /.


답변

백 슬래시 슬래시 백 슬래시 스타

/(<- the prompt)\/\*

그래서 입력하면 다음과 같이 보입니다.

/\/\*


답변