Vim 명령어 모음
Vim 명령어 모음
모드: Normal(기본), Insert(입력), Visual(선택), Command(명령)
📝 모드 전환
| 명령어 | 설명 |
|---|---|
i | 커서 위치에 입력 모드 |
I | 줄 맨 앞에 입력 모드 |
a | 커서 다음에 입력 모드 |
A | 줄 맨 뒤에 입력 모드 |
o | 아래 줄에 입력 모드 |
O | 위 줄에 입력 모드 |
Esc | Normal 모드로 돌아가기 |
v | Visual 모드 (문자 단위) |
V | Visual Line 모드 (줄 단위) |
Ctrl+v | Visual Block 모드 (블록) |
🚀 이동
| 명령어 | 설명 |
|---|---|
h j k l | 좌 하 상 우 |
w | 다음 단어 시작 |
b | 이전 단어 시작 |
e | 다음 단어 끝 |
0 | 줄 맨 앞 |
^ | 줄 첫 문자 |
$ | 줄 맨 뒤 |
gg | 파일 맨 앞 |
G | 파일 맨 뒤 |
:<num> | 특정 줄 번호로 이동 (예: :20) |
Ctrl+f | 한 페이지 아래 |
Ctrl+b | 한 페이지 위 |
Ctrl+d | 반 페이지 아래 |
Ctrl+u | 반 페이지 위 |
% | 괄호 짝으로 이동 () [] {} |
✂️ 편집
| 명령어 | 설명 |
|---|---|
x | 문자 삭제 |
dd | 줄 삭제 |
D | 커서부터 줄 끝까지 삭제 |
dw | 단어 삭제 |
d$ | 커서부터 줄 끝까지 삭제 |
yy | 줄 복사 |
yw | 단어 복사 |
p | 붙여넣기 (커서 뒤) |
P | 붙여넣기 (커서 앞) |
u | 실행 취소 (Undo) |
Ctrl+r | 다시 실행 (Redo) |
r<char> | 문자 하나 교체 |
cw | 단어 변경 (삭제 후 입력 모드) |
cc | 줄 변경 (삭제 후 입력 모드) |
C | 커서부터 줄 끝까지 변경 |
~ | 대소문자 토글 |
🔍 검색 & 치환
| 명령어 | 설명 |
|---|---|
/pattern | 아래로 검색 |
?pattern | 위로 검색 |
n | 다음 검색 결과 |
N | 이전 검색 결과 |
* | 커서 단어 아래로 검색 |
# | 커서 단어 위로 검색 |
:s/old/new/ | 현재 줄에서 첫 번째 치환 |
:s/old/new/g | 현재 줄 전체 치환 |
:%s/old/new/g | 파일 전체 치환 |
:%s/old/new/gc | 파일 전체 치환 (확인) |
💾 저장 & 종료
| 명령어 | 설명 |
|---|---|
:w | 저장 |
:w <file> | 다른 이름으로 저장 |
:q | 종료 |
:q! | 강제 종료 (저장 안 함) |
:wq | 저장 후 종료 |
:x | 변경사항 있으면 저장 후 종료 |
ZZ | :wq와 동일 |
ZQ | :q!와 동일 |
📋 Visual 모드
| 명령어 | 설명 |
|---|---|
v + 이동 + y | 영역 복사 |
v + 이동 + d | 영역 삭제 |
v + 이동 + > | 들여쓰기 |
v + 이동 + < | 내어쓰기 |
V + 이동 + d | 여러 줄 삭제 |
Ctrl+v + 이동 + I | 블록 입력 (Esc 두 번) |
🔧 설정 & 기타
| 명령어 | 설명 |
|---|---|
:set number | 줄 번호 표시 |
:set nonumber | 줄 번호 숨기기 |
:set relativenumber | 상대 줄 번호 |
:set paste | 붙여넣기 모드 (들여쓰기 방지) |
:set nopaste | 붙여넣기 모드 해제 |
:syntax on | 문법 강조 |
:set hlsearch | 검색 하이라이트 |
:noh | 검색 하이라이트 끄기 |
. | 마지막 명령 반복 |
>> | 현재 줄 들여쓰기 |
<< | 현재 줄 내어쓰기 |
== | 현재 줄 자동 들여쓰기 |
📂 파일 & 창
| 명령어 | 설명 |
|---|---|
:e <file> | 파일 열기 |
:bn | 다음 버퍼 |
:bp | 이전 버퍼 |
:bd | 버퍼 닫기 |
:split | 가로 분할 |
:vsplit | 세로 분할 |
Ctrl+w w | 다음 창으로 이동 |
Ctrl+w h/j/k/l | 방향키로 창 이동 |
Ctrl+w q | 창 닫기 |
Ctrl+w = | 창 크기 균등 분배 |
💡 자주 쓰는 조합
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
" 파일 전체 들여쓰기 정리
gg=G
" 빈 줄 모두 제거
:g/^$/d
" 줄 끝 공백 제거
:%s/\s\+$//g
" 줄 번호와 검색 하이라이트 켜기
:set number hlsearch
" 대소문자 구분 없이 검색
:set ignorecase
/pattern
⚙️ 추천 .vimrc 설정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
" 기본 설정
set number " 줄 번호
set relativenumber " 상대 줄 번호
set tabstop=2 " 탭 너비 2칸
set shiftwidth=2 " 들여쓰기 2칸
set expandtab " 탭을 스페이스로 변환
set autoindent " 자동 들여쓰기
set hlsearch " 검색 하이라이트
set incsearch " 검색 시 실시간 하이라이트
set ignorecase " 대소문자 무시
set smartcase " 대문자 입력 시 구분
syntax on " 문법 강조
" 커서 라인 강조
set cursorline
" 마지막 위치 기억
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
🎓 학습 팁
vimtutor명령으로 내장 튜토리얼 실행- Normal 모드에서
:help <명령어>로 도움말 확인 .(점)으로 명령 반복을 적극 활용
This post is licensed under CC BY 4.0 by the author.