제목:

리눅스 Vim 기본 사용법

날짜: Posted on

이 페이지는 리눅스의 텍스트 에디터 Vim의 기본적인 사용법에 관한 내용을 서술합니다.

Vim은 기존의 Vi에서 기능을 약간 향상시킨 프로그램으로, 특히 프로그램 코딩 등에 좀 더 특화되어 있습니다.

$ vim

위와 같이 콘솔에서 ‘vim’이라고 쳐 보면,

 
~
~
~
~
~
~                                빔 - 향상된 Vi
~
~                                 판 7.4.1689
~                           by Bram Moolenaar et al.
~           Modified by pkg-vim-maintainers@lists.alioth.debian.org
~                   빔은 소스가 열려 있고 공짜로 배포됩니다
~
~                   우간다에 사는 가난한 아이를 도와주세요!
~            이에 대한 정보를 보려면    :help iccf<엔터>       입력
~
~            끝내려면                   :q<엔터>               입력
~            온라인 도움말을 보려면     :help<엔터> 또는 <F1>  입력
~            판 정보를 보려면           :help version7<엔터>   입력
~
~
~
~
~
                                                              0,0-1        모두

위와 같은 화면이 나타납니다. 이는 한국어판 기준으로, 시스템 언어가 영어로 되어 있다면 영어로 나타납니다.

여기서 i 또는 Insert 키를 눌러 보면

 
~
~
~
~
~
~                                빔 - 향상된 Vi
~
~                                 판 7.4.1689
~                           by Bram Moolenaar et al.
~           Modified by pkg-vim-maintainers@lists.alioth.debian.org
~                   빔은 소스가 열려 있고 공짜로 배포됩니다
~
~                   우간다에 사는 가난한 아이를 도와주세요!
~            이에 대한 정보를 보려면    :help iccf<엔터>       입력
~
~            끝내려면                   :q<엔터>               입력
~            온라인 도움말을 보려면     :help<엔터> 또는 <F1>  입력
~            판 정보를 보려면           :help version7<엔터>   입력
~
~
~
~
~
-- 끼워넣기 --                                                1,1          모두

위와 같이 맨 아랫줄에 ‘끼워넣기’라는 문구가 맨 아랫줄에 추가되었습니다. 이 상태에서 내용을 작성할 수 있습니다.

여기서 약간의 프로그래밍 코드를 작성한 후 ESC 키를 눌러 봅시다.

#!/usr/bin/python3
print("Hello, world!")
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
                                                              2,22         모두

이렇게 내용이 작성되고, ESC 키를 누르면 아래쪽에 ‘끼워넣기’라는 문구가 사라지면서 내용 편집 모드가 종료됩니다. 그리고 아랫줄 오른쪽의 숫자가 1,1에서 2,22로 바뀌었음을 알 수 있는데 이는 커서가 2번째 줄 22번째 열로 이동했음을 의미합니다.

내용 편집 모드에서 명령 모드로 전환한 후 키보드의 콜론(:)을 누르면 커서가 마지막 줄로 이동하면서 명령어를 작성할 수 있게 되는데 이 모드를 마지막 라인 모드라고 합니다. 마지막 라인 모드 진입 후 다음과 같이 입력해 봅시다.

#!/usr/bin/python3
print("Hello, world!)
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
:write hello.py                                               2,22         모두

이렇게 ‘:write hello.py‘ 또는 줄여서 ‘:w hello.py‘라고 치면 이 파일을 hello.py라는 이름으로 저장하겠다는 의미입니다. 여기서 Enter를 치면,

#!/usr/bin/python3
print("Hello, world!")
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"hello.py" [새로운] 2L, 42C 저장 했습니다                     2,22         모두

이렇게 내용이 저장됨과 동시에 색이 변했습니다. Vim에서는 코드로 이루어진 어떤 텍스트 파일을 읽으면 그 코드의 문법에 맞게 자동으로 색이 변하는 기능이 있습니다. 여기서는 파이썬으로 코딩했으므로 파이썬의 문법에 맞게 색이 변한 것입니다.

이제 같은 방법으로 명령 모드에서 ‘:quit‘ 또는 줄여서 ‘:q‘라고 치면 Vim을 빠져나오게 됩니다.

$ ls
hello.py

이렇게 Vim을 빠져나온 후 ls 명령어를 치면 hello.py 파일이 생성되어 있음을 알 수 있습니다.
이제 이 파일을 다시 불러와서 편집해 봅시다. Vim에서 기존 파일을 불러오는 방법은 두 가지가 있는데, 하나는 실행시킬 때 vim hello.py 식으로 vim 뒤에 띄어쓰기 하고 편집할 파일 이름을 쓰는 방법이고, 다른 하나는 일단 Vim을 실행시킨 후 명령 모드에서 ‘:edit hello.py‘ 식으로 edit 명령어(또는 줄여서 :e)를 써서 불러오는 방법입니다. 두 가지 방법 중 한 가지를 선택해서 불러오면,

#!/usr/bin/python3
print("Hello, world!")
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"hello.py" 2L, 42C                                            1,1          모두

이렇게 불러온 파일 내용이 호출됩니다.

여기서 커서를 이동해 봅시다. 원래 Vi에서는 H(⬅), J(⬇), K(⬆), L(➡) 이렇게 4개의 키를 방향키 대신 이용했습니다. 이는 키보드에 방향키가 없던 시절부터 이어져 내려 온 전통이 그대로 남은 것으로, Vim에서는 방향키가 있는 지금의 키보드에서 편하게 이용할 수 있도록 방향키로 커서 이동을 지원합니다. 물론 명령 모드에서는 HJKL 키를 이용한 기존의 Vi식 커서 이동 방식을 지원합니다. 단, HJKL은 소문자로 입력(hjkl)해야 함에 주의합니다.

커서를 적당한 곳에 위치시킨 후 편집 모드로 가서,

#!/usr/bin/python3
print("Linux world!")
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
                                                              2,12         모두

이렇게 바꾼 후 명령 모드에서 ‘:w‘ 치고 엔터를 누르면 편집하고 있던 현재 파일로 저장, 그 후 ‘:q‘를 치고 엔터를 눌러서 Vim을 빠져나옵니다. ‘:wq‘라고 칠 경우는 편집하고 있던 현재 파일로 저장함과 동시에 Vim에서 빠져나옵니다.

만약 내용이 변경을 저장하지 않은 상태에서 그냥 ‘:q‘라고 치면 오류가 나면서 빠져나가지 못하는데 이 때 변경된 내용을 저장하지 않고 종료하고 싶다면 뒤에 느낌표를 붙여서 ‘:q!‘라고 치면 됩니다.

1개의 댓글이 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다