Command-line Mode - 내용 찾아서 변경하기
이는 command-line mode에서 파일의 내용을 찾아서 변경 할 수 있는 명령어로서 그 종류는 다음과 같다.
종류 |
기능 |
|
:s/찾는단어/새단어 |
현재 라인에서 찾는 단어를 새 단어로 한 번만 찾아서 바꾸기 |
|
:s/찾는단어/새단어/g |
현재 라인에서 찾는 단어를 새 단어로 모두 바꾸기 |
|
:%s/찾는단어/새단어/g |
현재 파일에서 찾는 단어를 새 단어로 모두 바꾸기 |
|
:%s/찾는단어/새단어/gc |
현재 파일에서 찾는 단어를 새 단어로 모두 바꾸되 물어보면서 바꾸기 |
|
:#,#s/찾는단어/새단어/g |
두 라인 번호(#) 사이에서 찾는 단어를 새 단어로 모두 바꾸기 |
1. :s/찾는단어/새단어 - 현재 커서가 위치한 줄에서 찾는 단어를 새 단어로 한 번만 찾아서 바꾸기
다음과 같은 상황에서 :s/Linux/Vim 을 입력하면
다음과 같이 해당라인에서 가장 먼저 탐색된 단어를 새단어로 한 번만 바꿔주는 것을 확인할 수 있다.
2. :s/찾는단어/새단어/g - 현재 라인에서 찾는 단어를 모두 새 단어로 바꾸기
여기서 가장 뒤에 붙는 g는 globally를 의미하는 것으로서 이를 통해 해당 명령의 기능을 어느정도 예상할 수 있다.
다음과 같은 상황에서 :s/Linux/Vim/g를 입력하면
해당라인의 모든 찾는 문자들이 새문자로 바뀐 것을 확인할 수 있다.
3. :%s/찾는단어/새단어/g - 현재파일에 존재하는 모든 찾는 단어를 새단어로 변경
다음과 같은 상황에서 :%s/Linux/Vim/g 를 입력하면
다음과 같이 파일내의 모든 단어 Linux가 Vim으로 변경된 것을 확인할 수 있다.
4. :%s/찾는단어/새단어/gc - 현재파일에 존재하는 모든 찾는 단어를 새단어로 변경(변경 전 확인을 거침)
해당명령어 뒤에 붙는 c는 confirm을 의미한다. 그래서 그 의미 그대로 변경하기 전에 확인 후 변경을 시행한다.
다음과 같은 상황에서 :%s/Linux/Vim/gc 를 입력하면
다음과 같이 변경되어야할 문자가 별도로 표시되면서 사용자에게 확인하는 메시지 창이 나오게 된다. 여기서 각 문자들이 가지는 의미는 다음과 같다.
종류 |
기능 |
추가설명 |
y |
현재 표시된 찾는 단어를 새 단어로 변경한다. |
변경 후 또 다른 찾는 단어를 검색 |
n |
현재 표시된 찾는문자에 대한 변경을 허용하지 않는다. |
변경되지 않고 다음단어를 찾는다. |
a |
파일의 모든 찾는문자를 새문자로 변경한다. |
모든 파일에 대해서 이루어진다. |
q |
해당명령을 종료한다. |
다시 Command mode로 돌아온다. |
l |
현재 표시된 찾는 단어를 새 단어로 변경하고 해당 명령을 종료한다. |
다시 Command mode로 돌아온다. |
단순히 확인을 하는 것이 아니라 다양한 옵션으로 확인을 지원한다는 점을 기억해 두도록 하자. 선택하는 옵션에 따라서 각각의 기능에 따라 변경이 진행되는 것을 확인할 수 있다. (^E와 ^Y는 아직 기능을 명확하게 파악하지 못해서 차후에 수정하여 게시하는 것으로 하겠음)
5. :#, #s/찾는단어/새단어/g - 두 라인 번호(#) 사이에서 찾는 단어를 새 단어로 모두 변경
다음과 같은 상황에서 5,7s/Linux/Vim/g 를 입력하면 그 결과는 다음과 같다.
다음과 같이 5 ~ 7번 라인에 존재하는 찾는 단어(Linux)들이 모두 새 단어(Vim)로 변경된 것을 확인할 수 있다.
'Tools > Vim' 카테고리의 다른 글
Visual mode (0) | 2021.02.07 |
---|---|
Command-line Mode - 창을 나눠서 다른 파일 열기 (0) | 2021.02.07 |
Command mode - 화면스크롤 (0) | 2021.02.07 |
Command mode - 글자(단어) 찾기 (0) | 2021.02.07 |
Command mode - 현재 파일을 저장하고 vim 종료 (0) | 2021.02.06 |
댓글
이 글 공유하기
다른 글
-
Visual mode
Visual mode
2021.02.07 -
Command-line Mode - 창을 나눠서 다른 파일 열기
Command-line Mode - 창을 나눠서 다른 파일 열기
2021.02.07 -
Command mode - 화면스크롤
Command mode - 화면스크롤
2021.02.07 -
Command mode - 글자(단어) 찾기
Command mode - 글자(단어) 찾기
2021.02.07