vim(vi) 명령어 완벽 정리: 개발자 필수 에디터 사용법 가이드
개발자분들, 혹은 리눅스 환경에서 작업하시는 분들이라면 한 번쯤 들어보셨을 이름, 바로 Vim(vi)이죠? 처음 접하면 마치 미로처럼 느껴져서 '이걸 어떻게 쓰지?' 하고 포기하는 분들이 많아요. 저도 처음에는 그랬거든요. 😅 하지만 Vim에 한번 익숙해지면 마우스 없이도 텍스트를 자유자재로 편집하는 그 편리함에 푹 빠지게 된답니다. 이번 포스팅에서는 Vim 초보자도 쉽게 따라 할 수 있도록, 핵심 명령어들을 단계별로 아주 쉽고 친절하게 정리해 봤어요.
이 글만 잘 읽어보셔도 Vim의 기본 동작 원리를 이해하고, 파일 열기, 저장, 검색, 복사/붙여넣기 등 필수적인 작업들을 능숙하게 해낼 수 있을 거예요. 그럼, 키보드에서 손 떼지 않고 코딩하는 진정한 '키보드 마스터'가 되기 위한 여정, 저와 함께 떠나보실까요? 🚀
Vim의 세 가지 모드 이해하기 🤔
Vim이 다른 에디터와 가장 다른 점은 바로 '모드'가 있다는 거예요. 이 모드 개념만 정확히 이해해도 Vim의 절반은 정복했다고 할 수 있습니다. Vim은 크게 세 가지 모드로 나뉘어요.
- 명령 모드 (Normal Mode): Vim을 실행했을 때 가장 먼저 진입하는 기본 모드예요. 커서 이동, 삭제, 복사, 붙여넣기 등 모든 편집 명령을 수행합니다. 여기서 키를 누르면 글자가 입력되는 게 아니라, 특정 명령어가 실행돼요.
- 입력 모드 (Insert Mode): 우리가 흔히 쓰는 메모장처럼 텍스트를 직접 입력하는 모드입니다. 'i', 'a', 'o' 등의 명령어를 통해 진입할 수 있고, 'ESC' 키를 누르면 다시 명령 모드로 돌아옵니다.
- 명령줄 모드 (Command-line Mode): 파일을 저장하거나 종료할 때, 또는 검색이나 치환 기능을 사용할 때 진입하는 모드입니다. 명령 모드에서 콜론(':') 키를 누르면 화면 하단에 콜론이 나타나는데, 이때부터 명령줄 모드예요.
Vim 사용의 핵심은 이 세 가지 모드를 자유자재로 오가는 것입니다. 대부분의 작업은 명령 모드에서 시작해서 필요할 때 입력 모드로 전환하고, 작업이 끝나면 다시 명령 모드로 돌아오는 흐름으로 진행됩니다. 'ESC' 키는 항상 '명령 모드로 돌아가기' 역할을 한다는 걸 꼭 기억하세요!
기본 조작 명령어: 파일 열기, 저장, 종료 🚪
가장 먼저 익혀야 할 명령어들이죠. Vim을 시작하고 끝내는 방법이에요. 이 몇 가지 명령어만 알아도 기본적인 텍스트 편집은 충분히 할 수 있습니다.
파일 열기 및 시작하기
vim 파일명: 새로운 파일을 생성하거나 기존 파일을 엽니다.vim -r 파일명: 비정상적으로 종료된 파일을 복구합니다.
저장 및 종료 명령어 (명령줄 모드)
명령 모드에서 :를 입력한 후 아래 명령어를 입력하고 Enter를 누릅니다.
| 명령어 | 설명 |
|---|---|
:w |
현재 파일을 저장합니다. |
:q |
현재 파일을 닫고 Vim을 종료합니다. (수정 사항이 없어야 함) |
:wq 또는 :x |
저장하고 종료합니다. |
:q! |
강제로 종료합니다. (수정 사항을 저장하지 않음) |
수정한 내용이 있는데 그냥
:q를 입력하면 'No write since last change'라는 에러 메시지가 뜨면서 종료되지 않아요. 이때는 :wq로 저장하고 종료하거나, 변경 내용을 버리고 싶다면 :q!를 사용해야 합니다.
커서 이동과 입력 모드 전환 🏃♂️
Vim을 처음 쓰는 분들이 가장 헷갈려 하는 부분인데요, 화살표 키 대신 Vim의 전용 커서 이동 키를 익히는 게 좋아요. 손가락이 키보드 중앙에 머물러 있어 훨씬 효율적이거든요.
명령 모드에서의 커서 이동
h: 왼쪽으로 이동j: 아래로 이동k: 위로 이동l: 오른쪽으로 이동0또는^: 현재 줄의 맨 앞으로 이동$: 현재 줄의 맨 뒤로 이동G: 파일의 맨 아래로 이동gg: 파일의 맨 위로 이동
입력 모드로 전환하기 (명령 모드에서)
텍스트를 입력하고 싶을 땐 아래 명령어 중 하나를 사용하면 됩니다.
i: 현재 커서 위치에 삽입 (insert)a: 현재 커서 바로 뒤에 삽입 (append)o: 현재 줄 아래에 새로운 줄을 만들고 삽입 (open)ESC: 입력 모드에서 명령 모드로 돌아가기 (아주 중요!)
편집 명령어: 삭제, 복사, 붙여넣기 ✂️
이제 본격적으로 텍스트를 편집해볼까요? Vim에서는 삭제, 복사, 붙여넣기 기능도 명령어로 처리합니다. 이 명령어들은 숫자와 조합하여 여러 줄을 한 번에 조작할 수 있다는 강력한 장점이 있어요.
삭제 (Delete)
x: 커서가 있는 한 글자 삭제dw: 현재 커서부터 단어의 끝까지 삭제 (delete word)dd: 현재 커서가 있는 줄 전체 삭제 (delete line)5dd: 현재 줄부터 5줄을 삭제
복사 (Yank) 및 붙여넣기 (Paste)
yy: 현재 줄 복사 (yank)5yy: 현재 줄부터 5줄 복사p: 커서가 있는 줄 아래에 붙여넣기 (paste)P: 커서가 있는 줄 위에 붙여넣기
검색 및 치환 🔍
특정 단어를 찾거나, 한 번에 여러 곳의 텍스트를 바꾸고 싶을 때 사용하는 유용한 기능이에요.
단어 검색 (명령줄 모드)
/검색어: 파일 내에서 '검색어'를 찾습니다.n을 누르면 다음 찾기,N을 누르면 이전 찾기로 이동해요.?검색어: 역방향으로 '검색어'를 찾습니다.
문장 치환 (명령줄 모드)
특정 단어를 다른 단어로 한 번에 바꾸고 싶을 때 사용해요.
치환 공식
:[범위]s/찾을 문자열/바꿀 문자열/[옵션]
:s/foo/bar/: 현재 줄에서 처음 발견된 'foo'를 'bar'로 치환합니다.:s/foo/bar/g: 현재 줄에서 발견된 모든 'foo'를 'bar'로 치환합니다. (g는 global):%s/foo/bar/g: 파일 전체에서 발견된 모든 'foo'를 'bar'로 치환합니다.:%s/foo/bar/gc: 파일 전체에서 발견된 모든 'foo'를 'bar'로 치환할 때, 사용자에게 치환 여부를 확인합니다. (c는 confirm)
마무리: 핵심 내용 요약 📝
자, 지금까지 Vim의 필수 명령어들을 쭉 훑어봤는데요, 어떠셨나요? 처음엔 좀 복잡해 보일 수 있지만, 몇 번만 반복해서 사용해 보면 금방 손에 익으실 거예요. 오늘 배운 내용을 다시 한번 정리해볼게요!
- Vim의 3가지 모드 이해하기. 명령 모드, 입력 모드, 명령줄 모드를 구분하는 것이 가장 중요합니다.
- 'ESC' 키는 필수! 입력 모드에서 명령 모드로 돌아갈 때 사용합니다.
- 기본 명령어 익히기.
:w(저장),:q(종료),:wq(저장 후 종료),:q!(강제 종료)를 숙지하세요. - 키보드로 커서 이동하기.
h,j,k,l과gg,G등을 활용하면 마우스 없이도 빠르게 이동할 수 있어요. - 편집 명령어 조합하기.
yy,dd,p등은 숫자와 조합해서 여러 줄을 한 번에 조작할 수 있다는 걸 기억하세요!
Vim은 처음엔 진입장벽이 높지만, 일단 익숙해지면 엄청난 생산성을 가져다주는 '꿀팁' 같은 에디터예요. 이 포스팅이 여러분의 Vim 사용에 작은 도움이 되었으면 좋겠습니다. 혹시 궁금한 점이 있다면 언제든지 댓글로 남겨주세요! 😊
자주 묻는 질문 ❓
vimtutor는 Vim이 제공하는 내장 튜토리얼입니다. 터미널에 vimtutor를 입력하면 Vim의 기본적인 사용법을 단계별로 실습하면서 배울 수 있습니다. 약 30분 정도 소요되며, 오늘 배운 내용들을 직접 따라 해보는 데 아주 유용해요!

