응? 여기 Git을 소개하는 카테고리 아니었나요. 갑자기 Vim은 뭐죠???
잘못 오신 것이 아닙니다. 사실 vim을 아시면 좋고, 아니면 기존 메모장 등을 이용하라고 하려고 했는데 작성하다보니 vim을 사용하는 것이 압도적으로 편하고, 커밋 과정에서 vim이 등장해서 다루게 되었습니다. 또한 깃 실습을 위한 수준의 Vim 사용법은 간단하므로 소개하고 넘어가려고합니다.
Vim(Vi IMproved)
은 vi 에디터를 향상시켜 만든 텍스트 편집기 입니다. 간단히 말하면 윈도우의 메모장과 같다고 볼 수 있죠. Vi라는 것은 유닉스 계열 환경(리눅스 등)에서 사용되는 에디터로, 터미널에서 텍스트 작업을 쉽게 할 수 있도록 만들어진 도구입니다.
Vim은 처음 접할 때는 조금 어렵다고 느껴지는 기능이지만, git과 같은 터미널 작업을 할 때는 창 전환, 마우스 조작 없이 편하게 이용할 수 있다는 장점이 있으므로 알아두면 여러므로 편리한 도구입니다.
Vim에는 세가지 모드가 있습니다. 명령 모드, 입력 모드, 라인 모드입니다.
명령 모드
는 명령어를 이용해서 현재 커서 위치 조정, 글자의 삭제 및 수정, 검색 등의 기능을 제공하는 모드입니다. 특정 명령어 입력 외에는 에러로 판단합니다.
입력 모드
는 글자를 입력하는 모드입니다. 우리가 메모장에 글을 쓰는 것과 같은 과정입니다.
라인 모드
는 vim의 최하단 :라인에 특정 명령을 입력해서 편집, 검색, 저장, 종료 등의 기능을 할 수 있습니다.
Vim 활용을 위해 각 모드의 전환 방법에 익숙해져야하기 때문에 모드 전환법을 소개하겠습니다.
본 포스트는 리눅스 포스트가 아닌 git bash에서 편한 실습을 위해 vim을 소개하는 것 이기 때문에 실습에 필요한 명령어만 다루도록 하겠습니다.
우선 vim을 실행하면 기본적으로 명령 모드로 실행됩니다. 이 상태에서 a
또는 i
를 누르면 커서가 깜빡이며 입력 모드로 진입되게 됩니다. 입력 모드 상태에 들어가야지만, 텍스트를 작성할 수 있습니다. 최하단에는 --INSERT--
와 같이 현재 모드의 상태를 알려줍니다. --INSERT--
는 입력 모드를 의미합니다. 입력 모드에서 입력을 다 마쳤다면 ESC
를 눌러서 명령 모드로 다시 돌아갈 수 있습니다. 명령 모드로 다시 돌아가는 이유는 명령 모드에서 라인 모드로 진입하여 문서의 저장 및 종료가 가능하기 때문입니다.
물론, 명령 모드에서도 ZZ
(대문자 Z 두 번)을 통해 내용을 저장하고 종료할 수 도 있습니다.
저장과 종료는 라인 모드에서 할 수 있습니다. 라인 모드는 명령 모드 상태에서 :을 입력하고 명령어를 적어서 종료 및 저장을 하면 됩니다. 라인 모드에서 이용하는 명령은 다음과 같습니다.
모드간의 전환을 표로 나타내면 다음과 같습니다.