:범위s/pattern/replace/
범위 중에서 각 줄 중 처음 발견된 pattern을 replace로 치환
:범위s/pattern/replace/g
범위 중에서 발견되는 모든 pattern을 replace로 치환
범위는 행번호를 쓰면 됨. 핸재 행은 '.', 처음 행은 '^', 마지막 행은 '$', 전체 범위는 '%'로 표시하면 된다. 행뿐만 아니라 줄의 처음도 '^', 마지막도 '$'로 사용하면 된다. escape 문자는 '\'로 사용한다.
1. 문서 전체 범위에서 'test'를 'test2'로 바꾸기
:%s/test/test2/g
2. 3번째 줄에서 10번째 줄까지 'test'를 'test2'로 바꾸기
:3,10s/test/test2/g
3. 현재 줄 -2번째 줄에서 +3번째 줄까지 'test'를 'test2'로 바꾸기
(현재 줄('.')이 4번째 줄이라면 2번째 줄부터 7번째 줄까지)
:.-2,.+3s/test/test2/g
4. 문서 처음('^')부터 현재 줄('.')까지 모든 줄 마지막('$')에 "-*" 붙이기
:^,.s/$/-*/g
5. 현재 줄('.')부터 문서 마지막('$')까지 모든 줄 처음('^')에 " + " 붙이기
:.,$s/^/ + /g
6. 문서 전체의 "/usr/bin/test"를 "/usr/doc/test"로 바꾸기
:%s/\/usr\/bin\/test/\/usr\/doc\/test/g
- 출처
VI 치환명령
vi 치환기능
리눅스 및 VI 명령어 사용법
반응형