본문 바로가기
개발 도구/유닉스 커맨드

CLI 전용 에디터 - Vim 사용 방법과 단축키 안내

by ♥︎해이나♥︎ 2023. 5. 20.
반응형

GUI 환경에서는 파일 종류에 따라 Microsoft Word, VS code, PyCharm, 메모장 등 다양한 툴을 사용해서 파일 내용을 작성할 수 있다. 그런데 CLI 환경에서는 전용 텍스트 에디터를 사용한다. 그 중에서 가장 보편적인 것으로 Vim 이라는 에디터가 있다. Vim의 장점은 엄청 많은 기능과 단축키가 있다는 점이고, 단점은 모든 걸 마우스가 아닌 키보드로 해결해야 한다는 점이다.

 

나는 오래 전부터 Vim 에디터에 호기심을 가지고 있었기 때문에... 이번 강의 주제가 Vim 이라고 해서 기대를 많이 했다. (감동중) 그럼 이제부터 Vim을 사용하는 방법과 단축키에 대해서 정리해보도록 하겠다.

 

vim 사용법 알아보기

 

Vim 실행하기

가장 먼저 해야 할 것은 당연히 Vim 실행하기 이다. 터미널을 열고, vim 이라고 입력하고 실행해주기만 하면 된다.

 

vim 실행

 

argument 없이 실행하면 새 파일을 만들고, 파일 경로를 argument로 주면 해당 파일(수정의 의미)을 연다. 만약 지정한 경로에 그 이름을 가진 파일이 존재하지 않는 경우에는 새 파일을 만든다.

 

Vim을 실행하면 아래와 같은 화면이 뜬다.

 

Vim 실행 화면

 

Vim의 4가지 사용 모드

Vim을 실행하고 입력해보려고 키보드를 눌렀는데, 아무런 반응이 나타나지 않았다. 이것은 현재 Vim이 입력 모드가 아니기 때문이다. 이 텍스트 에디터는 총 4개의 사용 모드를 갖는다. 각 사용 모드의 기능은 아래와 같다.

 

- 일반 모드(Normal Mode) : 커서 이동, 텍스트 붙여넣기, 작업 취소

- 입력 모드(Insert Mode) : 텍스트 입력

- 비주얼 모드(Visual Mode) : 텍스트 블록 지정, 텍스트 복사

- 명령 모드(Command Mode) : 내용 저장, Vim 종료

 

Vim을 처음 열면 일반모드로 실행된다. 입력 모드, 비주얼 모드, 명령 모드 등 다른 모드로 이동하려면 무조건 일반 모드를 거쳐서 가야 한다. 각 모드로 이동하는 단축키는 아래와 같다.

 

Vim 모드 이동 단축키

 

일반 모드에서 입력 모드로 갈 때에는 i, 비주얼 모드로 갈 때에는 대문자 V와 소문자 v, 명령 모드로 갈 때에는 : 을 입력한다. 일반 모드로 다시 돌아오려면 항상 esc 키를 누르면 된다.

 

모드 변경해서 사용해보기

i를 눌렀더니 화면 하단에 -- INSERT -- 라고 표기되며 텍스트를 입력할 수 있었다. 입력을 마치고 esc를 눌러서 다시 일반 모드로 돌아왔더니 내용은 그대로 확인이 가능하고, 하단의 INSERT 글자가 없어졌다.

 

Vim 입력 모드와 일반 모드

 

v를 눌렀더니 하단에 -- VISUAL -- 이라고 표시되었으며, 다시 일반 모드로 갔다가 : 를 눌렀더니 바로 이어서 명령어를 입력할 수 있게 화면이 변경되었다. 

 

Vim 비주얼 모드와 입력 모드

 

그럼 이제 본격적으로 Vim을 사용해보도록 하자. Vim 에서 자주 사용하는 단축키를 알아두는 것이 좋다.

 

Vim 단축키

- 텍스트 입력 : 단축키 i 눌러서 입력 모드로 이동

- 텍스트 한 줄 복사 : 일반 모드에서 복사하고 싶은 줄에 커서를 위치하고 yy 누름

- 텍스트 한 줄 잘라내기 : 일반 모드에서 잘라내고 싶은 줄에 커서를 위치하고 dd 누름

- 특정 영역 복사 : 비주얼 모드(V는 줄 단위, v는 글자 단위)에서 복사하고 싶은 영역 커서로 설정하고 y

- 특정 영역 잘라내기 : 비주얼 모드(V는 줄 단위, v는 글자 단위)에서 잘라내고 싶은 영역 커서로 설정하고 d

- 텍스트 붙여넣기 : 일반 모드에서 붙여넣고 싶은 위치에 커서 위치하고 p

- 파일 저장 : 단축키 : 눌러서 명령모드로 이동하고 w 입력하고 엔터 → :wq + enter

- 파일 저장하고 Vim 종료 : 단축키 : 눌러서 명령모드로 이동하고 wq 입력하고 엔터 → :wq + enter

- 내용 저장하지 않고 Vim 종료 : 단축키 : 눌러서 q! 누르고 엔터 → :q! + enter

 

Vim 저장하기

내용 작성을 마친 후 '저장 + 종료'할 생각이었는데 :wq를 눌렀더니 아래와 같은 메세지가 나왔다.

E32: No file name 

파일 이름이 없다고? 어떻게 이름을 넣는거지? 😰

 

no file name

 

이것은 기존에 있는 파일을 수정한 것이 아닌, 새 파일을 만들었기 때문에 파일명을 지정하라고 하는 것이다. 이럴 때에는 :w 한 칸 띄고 파일명을 작성해주면 된다. 

 

vim 저장하기

 

나는 hello.txt 라고 파일명을 지정해준 후에 명령을 실행했더니 아래와 같은 메세지를 확인할 수 있었다.

 

vim 저장 완료

 

:q를 입력해서 Vim을 종료한 후에 ls 커맨드를 이용해서 디렉토리 내용을 확인해 보았다. hello.txt가 저장되어 있었다.

 

ls 내용 확인

 

이 텍스트 파일을 다시 수정하고 싶다면 vim hello.txt 라는 커맨드를 입력하고 실행하면 된다.


지금은 마우스 없이 키보드로만 문서를 작성하는 것이 어색하고 어렵게 느껴지지만, 익숙해지면 메모장보다 훨씬 더 쉽고 빠르게 내용을 작성할 수 있지 않을까 하는 생각이 들었다. 가끔씩 시간날 때 터미널을 실행해서 Vim 문서 작성을 연습해보아야 겠다.

 

넘나 재미있는 유닉스 커맨드! 더더더 재미있는 온라인 코딩 강의 코드잇! 오늘 공부도 이걸로 끝~

반응형

댓글