ETC -

VIM 명령모드 텍스트 치환하기

  • -

👨‍💻 VIM 명령모드 텍스트 치환하기

안녕하세요 TriplexLab 입니다.

최근에 유닉스 커맨드 라인을 공부하고 있는데 좀 신기하고, 재미 있는 것을 찾아서 
정리 할려고 합니다.

VIM란

VIM은 CLI환경에서  텍스트 에디터 처럼 사용할수 있는 프로그램 입니다. 

실습 시작 👇

메모장 파일에 다음과 같은 텍스트를 미리 작성했습니다.

// test파일명 

I love Javascript
I like Java
I want to learn deep learning!
I like triplexlab! I like programiing!
I am a programmer.
Data science is important!
I like computer science!

해당 파일있는 곳으로 접근하기

터미널에서 메모장 파일이 있는 곳으로 접근 합니다.

cd ..경로 이동

vim 으로 메모장 열기 

이제 메모장을 열어봅시다.

vim test

명령모드로 전환하기

성공적으로 메모장 파일을 터머널에서 열어보셨다면 이제 명령모드로 전환 해봅시다.

// 일반 모드에서  : 를 누르면 명령모드로 전환 됩니다.
:

내용 저장하고, vim 종류 동시에 하기

:wq

내용 저장하지 않고, vim 종류 하기

방금 작성한 내용이 필요 없어서 저장하지 않고 vim을 종류하고 싶다고 해봅시다.
:q 를 입력하면 아래와 같은 에러메세지가 나옵니다.
에러 해석하면 마지막 변화이후로 저장이 되지 않았다는 뜻입니다.

이럴때 사용하는것이 q뒤에 !를 작성하는 것 입니다.
:q! 여기서 ! 는 방금 전과 같은 에러를 무시하고 강제로 실행해라 이런 뜻입니다.

:q!
더보기

정리

:   =>  콜론 명령 모드로 전환
q  =>  나가기
!   =>  강제 실행 

명령모드에서 텍스트 치환하기

이제 이번 포스트의 주제인 텍스트 치환하는 방법에 관해서 살펴보도록 하겠습니다.
(특정 텍스트를 다른 텍스트로 바꿀수 있는 기능입니다.)

:s/like/love //like를 love로 바꾼다.(커서가 있는 줄의 첫 번째 해당 텍스트 교체하기)

:s/like/love/g //like를 love로 바꾼다. (커서가 있는 줄의 모든 해당 텍스트 교체하기)

:%s/like/love/g //like를 love로 바꾼다. (모든 줄의 모든 해당 텍스트 교체하기)

:%s/like/love/gc //like를 love로 바꾼다. (모든 줄에서 모든 해당 텍스트를 하나씩 확인하면서 교체하기)
더보기

정리 

s    =>  subtitute(대체) 텍스트 대체
%   =>  퍼센트 범위를 파일 전체로
g    =>  global(전체적인) 문장에 등장하는 모든 단어 변경
c    =>  confirm 확인

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.