VIM에서 이스케이프 슬래시를 사용하지 않고 경로를 슬래시로 바꾸십시오.


10

vim 에서 텍스트 파일 의 긴 경로 /a/b/f/g/d/g를 다른 경로로 대체하고 싶습니다 /s/g/w/d/g/r. 일반적으로 사용 \/하지만 여기에 슬래시가 너무 많습니다. 더 쉬운 방법이 있습니까?

답변:


29

/대체 명령의 분리 문자로 슬래시 대신 다른 문자를 사용할 수 있습니다 .

사용 예 #:

:%s#/a/b/f/g/d/g#/s/g/w/d/g/r#

1
아주 좋은, 이것은 지금까지 최고의 솔루션입니다.
Seth

1
이것은 ed, sed, perl 등에서도 작동합니다.
deltab

2

아마도 sed를 사용할 수 있습니다

예 1 - 나오지 @구분 : 대체 /opt/omni/lbin/opt/tools/bin

가있는 경로 이름을 바꾸면 대신 구분 기호로 /사용할 수 있습니다 . 아래의 sed 예제에서 입력 파일의 마지막 줄에서 로 변경되었습니다 .@//opt/omni/lbin/opt/tools/bin

$ sed 's@/opt/omni/lbin@/opt/tools/bin@g' path.txt /usr/kbos/bin:/usr/local/bin:/usr/jbin/:/usr/bin:/usr/sas/bin /usr/local/sbin:/sbin:/bin/:/usr/sbin:/usr/bin:/opt/omni/bin: /opt/tools/bin:/opt/omni/sbin:/root/bin

보낸 사람 : http://www.thegeekstuff.com/2009/10/unix-sed-tutorial-advanced-sed-substitution-examples/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.