Vim의 강력함은 Normal 모드에서의 편집에 있습니다. 마우스 없이 키보드만으로 빠르게 텍스트를 다루는 방법을 실습합니다.
이 글에서 할 것
- 삭제 명령어 (x, dd, dw) 익히기
- 복사/붙여넣기 (yy, p, P) 익히기
- Undo/Redo (u, Ctrl+r) 사용하기
- 숫자 조합과 반복(.) 활용하기
준비물
실습 준비
테스트 파일 생성
cd ~
cat > test-edit.txt << 'EOF'
First line here
Second line with words
Third line for testing
Fourth line content
Fifth line is last
EOF
Vim으로 파일 열기
아래 터미널에서 Vim으로 편집할 파일을 엽니다.
실습 1: 삭제 (Delete)
x - 글자 하나 삭제
시작 위치: Line 1의 맨 앞 (F 위치)
x 명령어는 커서 위치의 한 글자를 삭제합니다.
| 키 |
결과 |
설명 |
x |
"irst line here" |
F 삭제 |
x |
"rst line here" |
i 삭제 |
u |
"First line here" |
Undo로 원래대로 복구 |
dd - 줄 전체 삭제
dd 명령어는 현재 줄 전체를 삭제합니다. 삭제된 줄은 복사 버퍼에 저장됩니다.
| 키 |
결과 |
설명 |
dd |
Line 1 삭제 |
현재 줄 전체 삭제 |
u |
복구 |
Undo로 삭제한 줄 복원 |
실습 2: 복사 (Yank)
yy - 현재 줄 복사
yy 명령어는 현재 줄을 복사합니다. 화면에는 변화가 없지만 버퍼에 저장됩니다.
| 키 |
결과 |
설명 |
yy |
(화면 변화 없음) |
현재 줄 복사됨 |
p |
복사한 줄 아래에 붙여넣기 |
새로 추가된 줄 강조 |
u |
Undo |
원래 상태로 복구 |
실습 3: 붙여넣기 (Paste)
p vs P
준비: Line 1을 복사 (yy)하고 Line 3으로 이동한 상태
p (소문자): 커서 뒤에 붙여넣기 → Line 3 아래에 추가
P - 커서 앞에 붙여넣기
| 키 |
결과 |
설명 |
3dd |
Line 1, 2, 3 삭제 |
3줄 한 번에 삭제 |
u |
복구 |
Undo로 원래대로 |
실습 6: 마침표(.) - 반복
. (dot) 명령어
마침표는 마지막으로 실행한 명령을 반복합니다.
| 키 |
결과 |
설명 |
dd |
Line 1 삭제 |
|
. |
Line 2 삭제 |
dd 반복 |
. |
Line 3 삭제 |
dd 반복 |
편집 명령어 총정리
삭제
| 명령어 |
설명 |
x |
커서 아래 글자 하나 삭제 |
dd |
현재 줄 전체 삭제 |
dw |
현재 단어 삭제 |
d$ |
커서부터 줄 끝까지 삭제 |
d0 |
커서부터 줄 시작까지 삭제 |
D |
d$와 동일 |
복사 (Yank)
| 명령어 |
설명 |
yy |
현재 줄 복사 |
yw |
현재 단어 복사 |
y$ |
커서부터 줄 끝까지 복사 |
y0 |
커서부터 줄 시작까지 복사 |
붙여넣기 (Paste)
| 명령어 |
설명 |
p |
커서 뒤에 붙여넣기 |
P |
커서 앞에 붙여넣기 |
Undo/Redo
| 명령어 |
설명 |
u |
Undo (실행 취소) |
Ctrl+r |
Redo (다시 실행) |
숫자 조합
| 명령어 |
설명 |
3dd |
3줄 삭제 |
5x |
5글자 삭제 |
2yy |
2줄 복사 |
3p |
3번 붙여넣기 |
반복
문제 해결
문제 1: 복사한 내용이 이상하게 붙여넣기 됨
원인: 이전에 삭제한 내용이 클립보드에 있음
해결:
- Vim은 삭제도 "복사"로 취급합니다
yy로 복사한 후 다른 작업 없이 바로 p를 사용하세요
문제 2: Undo가 너무 많이 됨
해결:
Ctrl+r # Redo로 되돌리기
문제 3: 대문자 P와 소문자 p의 차이가 헷갈림
규칙:
p = put after (커서 뒤)
P = Put before (커서 앞)
실습 완료 체크리스트
다음 편
👉 Vim 시리즈 5편: 설정하기 - .vimrc 만들기와 실전 팁
💬 댓글
이 글에 대한 의견을 남겨주세요