/ in vi 검색 및 바꾸기?
vi에서 검색 및 바꾸기, '/'(슬래시)를 이스케이프하여 정확합니다. 경로를 말하십시오.
같은 : / Users / tom / documents / pdfs /
:%s//Users/tom/documents/pdfs//<new text>/g --FAILS (obviously)
:%s/\/Users/tom/documents/pdfs\//<new text>/g -- FAILS with a trailing error
:%s/'/Users/tom/documents/pdfs/'/<new text>/g -- FAILS with a trailing error
내가 무엇을 놓치고 있습니까?
내부적으로도 슬래시를 이스케이프해야합니다.
:%s/\/Users\/tom\/documents\/pdfs\//<new text>/g
또는 할 수 있습니다 :%s,foo/bar/baz,foo/bar/boz,g
-나는 혼란을 피하기 때문에 슬래시를 거의 사용 하지 않습니다 .
Sarah가 제안했듯이 모든 슬래시를 이스케이프해야합니다.
대신 슬래시 이외의 다른 문자를 구분 기호로 사용할 수 있습니다. 이것은 검색 문자열에 많은 슬래시가있는 경우에 편리합니다.
:%s#/Users/tom/documents/pdfs/#<new test>#g
이것은 vim에서 완벽하게 작동합니다. 나는 바닐라 vi에 대해 100 % 확신하지 못합니다.
나는이 질문이 몇 년 전이라는 것을 알고 있지만 더 쉬운 해결책을 찾기 위해이 질문에 착수 할 수있는 다른 사람들을 위해 2014 년에는 "!"와 같은 다른 것으로 "/"구분 기호를 대체 할 수 있습니다. 다음과 같이 앞, 중간, 뒤 :
:%s!foo/bar/baz!foo/bar/boz!g
Meder의 대답과 매우 유사합니다 ... 그러나 느낌표가 구분 기호로보기가 훨씬 더 쉽다는 것을 알았습니다. 이 방법이 Mac OSX Mavericks에서 사용하고있는 VIM의 현재 버전에서 여전히 작동하는지 확인하고 싶었습니다.
?
검색에 사용할 수 있습니다.
레지스터에서 패턴을 검색하고 패턴에 '/'문자가 포함 된 경우 일반 모드에서 ?
명령 대신 /
명령을 사용 하여 패턴 일치를 시작할 수 있습니다. 이 경우 '/'문자에 더 이상 이스케이프가 필요하지 않습니다. (하지만 이제 '?'문자를 이스케이프해야합니다.)
?
의 반대 방향으로 검색 /
하므로 검색 방향이 마음에 들지 않고 검색 패턴에 '?'가 포함되지 않은 경우 숯.
또한 escape()
더 많은 것을 원한다면 스크립트를 확인하십시오 .
Windows는 디렉토리에 백 슬래시를 사용하고 Linux는 디렉토리에 슬래시를 사용합니다. Vim은 운영 체제에서 작동하는 텍스트 편집기입니다. 두 OS 모두 슬래시가 사용되는 방식과 관련하여 디렉토리 경로 해석이 다르기 때문에 Vim은 Windows 트위스트 방법을 해석하는 방법이 필요합니다.
LINUXFORWARD 대 WINDOWSBACK (디렉토리 슬래시)
- 슬래시는 Windows에서 문자 그대로 역순이며 Linux에서는 쉽게 표시됩니다.
- Windows :
C:\Program Files (x86)\Microsoft OneDrive\
- 리눅스 :
/usr/bin
해결책
나는 Linux PC가 아니기 때문에 Windows에서 Vim의 찾기 및 바꾸기에 대한 어려움을 말할 수 있습니다.
- 수정은 이중 백 슬래시입니다.
- 좋은:
:%s/c:\\Program Files (x86)\\Microsoft OneDrive\\/annoyancereplaced/g
- 나쁜:
:%s/c:\Program Files (x86)\Microsoft OneDrive\/unabletoreplaceannoyance/g
- Windows가 두 개의 슬래시 를 사용 하는 네트워크 경로 로 작업하는 경우
\\
이는 모든 백 슬래시에 대해 항상 균등하게 유지되므로 또 다른 백 슬래시가 있어야 함을 의미합니다.- 예 : 네트워크 경로 :
\\Foo\Bar\
%s/C:\\Program Files (x86)\\foo\\bar/\\\\Foo\\Bar\\
- 주목
\\\\
- 예 : 네트워크 경로 :
참고 URL : https://stackoverflow.com/questions/1684628/in-vi-search-and-replace
'developer tip' 카테고리의 다른 글
Dock 아이콘을 숨기는 방법 (0) | 2020.11.29 |
---|---|
jQuery UI 자동 완성-마우스를 올리면 메뉴가 사라집니다. (0) | 2020.11.29 |
Zip 파일 내에있는 파일에서 콘텐츠 읽기 (0) | 2020.11.29 |
IntelliJ IDEA 렌더링 오류 (0) | 2020.11.29 |
Android 팝업 창 닫기 (0) | 2020.11.29 |