
리눅스나 유닉스 환경에서 작업해본 분들이라면 'Vim(Vi)' 에디터 때문에 좌절했던 경험 한 번쯤 있으실 거예요. 텍스트를 입력하려는데 자꾸 이상한 명령어가 실행되고, 저장하고 나가고 싶은데 어떻게 해야 할지 몰라 당황하셨던 경험! 저만 그런 건 아니겠죠? 😅
Vim은 겉보기엔 어려워 보이지만, 사실 모드 개념만 이해하면 마우스를 사용하지 않고도 텍스트를 가장 빠르고 효율적으로 편집할 수 있는 '궁극의 도구'거든요. 개발자나 서버 관리자에게는 필수 중의 필수 스킬이고요. 이 글을 통해 Vim의 복잡한 명령어들을 체계적으로 정리하고, 여러분의 터미널 작업을 훨씬 쉽고 빠르게 만들어 드릴게요!
오늘부터 Vim 고수 되는 방법을 함께 익혀봐요! 😊
Vim/Vi의 3가지 핵심 모드 이해하기 🤔
Vim을 처음 접할 때 가장 헷갈리는 부분이 바로 '모드(Mode)' 개념입니다. Vim은 일반적인 메모장처럼 하나의 모드로 작동하지 않고, 목적에 따라 세 가지 모드가 존재해요.
이 세 가지 모드의 전환 방법을 완벽하게 이해하는 것이 Vim 마스터의 첫걸음입니다. 핵심은 ESC 키를 눌러 항상 '명령 모드'로 돌아와야 한다는 점이에요!
| 모드 | 주요 역할 | 진입/전환 방법 |
|---|---|---|
| 명령 모드 (Command Mode) | 커서 이동, 삭제(dd), 복사(yy), 붙여넣기(p), 되돌리기(u) 등 모든 편집 명령 수행. | vi 시작 시 기본 모드 / 다른 모드에서 ESC |
| 입력 모드 (Insert Mode) | 실제 텍스트 입력 및 수정이 가능한 모드. | 명령 모드에서 i, a, o, I, A, O 중 하나 입력 |
| 마지막 행 모드 (Last Line Mode) | 파일 저장/종료, 검색/치환, 환경 설정(set nu) 등 특별 명령 수행. | 명령 모드에서 :(콜론), /(슬래시), ?(물음표) 입력 |
Vim을 시작하는 가장 흔한 방법은 터미널에 vi [파일명] 또는 vim [파일명]을 입력하는 것입니다. 이때 처음 진입하는 모드가 바로 '명령 모드'예요.
자주 사용하는 Vim 핵심 명령어 총정리 📊
이제 모드 전환에 익숙해졌다면, 실무에서 가장 많이 쓰는 필수 명령어들을 정리해 드릴게요. 이 명령어들만 손에 익히면 Vim 작업 속도가 최소 3배는 빨라질 거예요. 믿어보세요! 😉
1. 저장 및 종료 (마지막 행 모드, : 입력)
| 명령어 | 설명 | 단축 |
|---|---|---|
| :w | 변경 내용 저장 | - |
| :q | 종료 (변경 사항 없으면) | - |
| :wq 또는 ZZ | 저장 후 종료 (가장 많이 사용) | ZZ |
| :q! | 저장하지 않고 강제 종료 (변경 사항 무시) | - |
2. 텍스트 입력 모드 진입 (명령 모드에서 입력)
- i (insert): 현재 커서 위치 앞에 삽입
- a (append): 현재 커서 위치 뒤에 삽입
- o (open line): 현재 줄 다음 줄에 새 줄 삽입 후 입력
- I (대문자 i): 현재 행 맨 처음(공백 제외)에 삽입
- A: 현재 행 맨 끝에 삽입
3. 이동, 삭제, 복사, 붙여넣기 (명령 모드에서 입력)
| 기능 | 명령어 | 설명 |
|---|---|---|
| 줄 이동 | G / gg / :숫자 | G: 파일 맨 끝, gg: 파일 맨 처음, :10: 10번째 줄로 이동 |
| 행/단어 이동 | w / b / 0 / $ | w: 다음 단어, b: 이전 단어, 0: 행 시작, $: 행 끝 |
| 줄 삭제 (잘라내기) | dd | 커서가 있는 줄 전체 삭제. 3dd는 현재 줄 포함 3줄 삭제. |
| 한 글자/단어 삭제 | x / dw | x: 한 글자 삭제, dw: 한 단어 삭제 |
| 복사 | yy | 현재 줄 복사. 5yy는 현재 줄 포함 5줄 복사. |
| 붙여넣기 | p / P | p: 커서 줄 아래 붙여넣기, P: 커서 줄 위에 붙여넣기 |
| 되돌리기 | u / Ctrl + r | u: Undo(실행 취소), Ctrl + r: Redo(재실행) |
dd 명령은 단순 삭제가 아니라 '잘라내기' 기능이에요. 즉, 삭제한 내용은 클립보드에 저장되므로, 바로 p 명령으로 붙여넣기가 가능합니다. 실수로 삭제했다면 바로 u를 눌러 되돌리세요!
고급 스킬: 검색, 치환, 설정 변경 🧮
단순 편집을 넘어, 대규모 파일에서 특정 문자열을 찾거나 한 번에 바꾸는 작업은 Vim의 '마지막 행 모드'에서 이루어집니다. 이 기능들은 코드를 수정하거나 로그 파일을 분석할 때 정말 유용해요.
🔍 문자열 검색 공식
아래 방향 검색: /찾을문자열
위 방향 검색: ?찾을문자열
→ 검색 후, 다음/이전 결과로 이동하려면 명령 모드에서 n (다음) 또는 N (이전)을 누릅니다.
가장 강력한 기능 중 하나는 바로 문자열 치환(Replace)입니다. 이 기능 덕분에 수백 줄의 코드에서도 특정 변수명이나 설정을 단숨에 바꿀 수 있어요.
♻️ 문자열 치환 공식
전체 치환: :%s/기존문자열/새문자열/g
현재 줄 치환: :s/기존문자열/새문자열/g
치환 옵션: g(전체 행), c(치환할 때마다 확인 요청)
여기에는 계산 예시나 사례를 통한 설명을 작성합니다:
1) 첫 번째 단계: :5,10s/error/warning/g (5행부터 10행까지 'error'를 'warning'으로 전체 치환)
2) 두 번째 단계: :%s/http/https/gc (파일 전체에서 'http'를 'https'로 바꾸되, 바꿀 때마다 사용자에게 '확인(c)' 또는 '넘어가기(n)' 요청)
→ 복잡한 치환도 이 공식만 알면 문제 없죠! 특히 c 옵션은 실수를 방지해주는 아주 좋은 습관이랍니다.
🔢 자주 쓰는 환경 설정 (라인 번호, 탭 크기 등)
명령어 활용 실전 예시: 40대 서버 관리자 박대리님 👩💼👨💻
이론만으로는 감이 잘 안 오죠? 실제 상황에 대입해서 어떻게 Vim을 활용하는지 보여드릴게요. 40대 서버 관리자인 박대리님이 새벽에 긴급 장애 처리를 위해 설정 파일(server.conf)을 수정해야 하는 상황이라고 가정해봅시다.
사례 주인공의 상황
- 정보 1: 3000줄짜리 설정 파일에서 'MaxClients' 설정을 '256'으로 변경해야 함.
- 정보 2: 로그 기록을 위해 1500번째 줄에 새로운 로깅 설정을 한 줄 추가해야 함.
Vim 명령어 적용 과정
1) vi server.conf 파일 열기 후 명령 모드 진입.
2) :%s/MaxClients 150/MaxClients 256/g 입력 (전체 파일에서 기존 설정값 150을 256으로 일괄 치환).
3) :1500 입력 (1500번째 줄로 바로 이동).
4) o 입력 (1500번째 줄 다음 줄에 새 줄 삽입, 입력 모드 전환).
5) 새로운 로깅 설정을 입력 후 ESC로 명령 모드 복귀.
최종 결과
- 결과 항목 1: 파일 전체 설정값 변경 완료. 단 몇 초 만에 3000줄 파일을 편집했습니다.
- 결과 항목 2: :wq 입력으로 저장 후 종료하여 서버 재시작 준비 완료.
이처럼 Vim 명령어를 숙지하면, 마우스로 일일이 스크롤하고 검색하는 것보다 훨씬 빠르고 정확하게 작업을 처리할 수 있답니다. 특히 원격 접속 환경에서는 Vim이 빛을 발하죠!
마무리: 핵심 내용 요약 📝
Vim 명령어, 생각보다 복잡하지 않죠? 핵심은 3가지 모드(명령, 입력, 마지막 행)와 ESC 키의 역할을 명확히 이해하는 것입니다. 다시 한번 핵심만 콕콕 집어 드릴게요!
- 첫 번째 핵심 포인트. ESC로 명령 모드 복귀가 가장 중요합니다. 다른 모드에서 명령을 실행할 수 없어요!
- 두 번째 핵심 포인트. 텍스트 입력은 i, a, o 중 하나로 입력 모드에 진입해서만 가능해요.
- 세 번째 핵심 포인트. 줄 삭제, 복사, 붙여넣기는 dd, yy, p로 간편하게 사용합니다.
- 네 번째 핵심 포인트. 저장 후 종료는 :wq 또는 ZZ, 강제 종료는 :q!를 기억하세요.
- 다섯 번째 핵심 포인트. 대량 작업은 :%s/기존/새로운/g 치환 명령으로 해결합니다.
이제 터미널을 열고 직접 파일을 만들고 수정하면서 손에 익히는 일만 남았어요! 명령어는 눈으로 보는 것보다 몸으로 익히는 게 최고거든요. 궁금한 점은 댓글로 물어봐주세요~ 😊
Vim 3가지 모드 및 필수 단축키 요약
자주 묻는 질문 ❓

'생활정보' 카테고리의 다른 글
| 갑작스러운 위기 극복! 서울형 긴급복지지원 생계비, 조건, 신청 방법 완벽 가이드 (0) | 2025.10.07 |
|---|---|
| WriteMonkey(라이트몽키) 앱 완벽 가이드: 맥 없는 윈도우 사용자를 위한 최고의 무분별 글쓰기 도구 (0) | 2025.10.06 |
| 숨어있는 카드포인트 통합 조회 및 현금화 신청 방법: 1분 완벽 가이드 (0) | 2025.10.06 |
| 2025년 기초연금 금액 조회 방법: 최대 금액, 소득 인정액 기준, 모의 계산 완벽 가이드 (0) | 2025.10.05 |
| 2025년 기초연금 수급자격: 재산 기준과 소득 인정액 계산법 완벽 정리 (0) | 2025.10.05 |