동작하는 코드
아래 에디터에서 h, j, k, l로 커서를 움직여보세요. 단어 단위 이동(w, b, e)과 줄 시작/끝 이동(0, $)도 시도해보세요.
실제 터미널에서 파일을 열어 연습해도 좋아요:
cat << 'EOF' > navigation.txt
서버 설정 파일입니다.
host: localhost
port: 8080
database: postgres
timeout: 30
max_connections: 100
log_level: debug
EOF
vim navigation.txt
Vim이 열리면 Normal 모드입니다. 화살표 키 대신 h, j, k, l을 눌러보세요:
| 키 | 방향 | 기억법 |
|---|---|---|
h | ← 왼쪽 | 키보드에서 가장 왼쪽 |
j | ↓ 아래 | j가 아래로 내려가는 모양 |
k | ↑ 위 | k가 위로 올라가는 모양 |
l | → 오른쪽 | 키보드에서 가장 오른쪽 |
처음에는 어색하지만, 오른손이 키보드 홈 행(home row)에서 벗어나지 않아요. 화살표 키로 손을 옮기는 시간이 사라집니다.
직접 수정하기
단어 단위 이동
한 칸씩 움직이면 느리죠. 단어 단위로 점프해보세요:
max_connections: 100
이 줄에서 시도해보세요:
| 키 | 동작 | 설명 |
|---|---|---|
w | 다음 단어 처음으로 | word |
b | 이전 단어 처음으로 | back |
e | 현재 단어 끝으로 | end |
w를 여러 번 눌러보세요. max_connections → : → 100으로 커서가 뛰어갑니다.
줄 단위 이동
host: localhost
| 키 | 동작 |
|---|---|
0 | 줄 맨 처음 (0번째 칸) |
^ | 줄에서 첫 글자 (공백 건너뜀) |
$ | 줄 맨 끝 |
0을 누르면 줄 시작, $를 누르면 줄 끝으로 바로 갑니다.
파일 단위 이동
설정 파일이 500줄이라면? j를 500번 누를 수는 없잖아요:
| 키 | 동작 |
|---|---|
gg | 파일 맨 처음 |
G | 파일 맨 끝 |
5G 또는 :5 | 5번째 줄로 이동 |
G를 눌러 파일 끝으로 가보세요. 그다음 gg로 다시 처음으로!
숫자 접두사
숫자를 먼저 입력하면 그 횟수만큼 반복합니다:
5j → 아래로 5줄 이동
3w → 단어 3개 앞으로 이동
10k → 위로 10줄 이동
5j를 한번 눌러보세요. j를 다섯 번 누른 것과 같은 결과입니다.
"왜?" — 화살표 키 대신 hjkl인 이유
Vim의 전신인 vi가 만들어질 때, 키보드에 화살표 키가 없었어요. 그래서 홈 행에 있는 h, j, k, l을 사용한 겁니다.
지금은 화살표 키가 있지만, hjkl이 여전히 더 빠릅니다:
화살표 키: 오른손 이동 → 화살표 → 다시 홈 행 복귀 (약 0.5초)
hjkl: 손이 그대로 → 바로 이동 (0초)
하루에 수천 번 커서를 옮긴다고 생각하면, 이 차이가 쌓여요. 처음 며칠만 참으면 자연스러워집니다.
이동 명령 조합 예시
실제 코드 파일에서 이런 식으로 씁니다:
# settings.py
DEBUG = True
ALLOWED_HOSTS = ['localhost', '127.0.0.1']
DATABASE_URL = 'postgres://user:pass@localhost/mydb'
SECRET_KEY = 'abc123'
| 하려는 일 | 키 입력 |
|---|---|
DEBUG에서 SECRET_KEY로 | 3j |
줄 끝의 'abc123'으로 | $ |
| 파일 맨 위 주석으로 | gg |
| 3번째 줄로 | 3G 또는 :3 |
| 다음 단어로 이동하며 훑기 | w 반복 |
화면 단위 스크롤
긴 파일에서는 화면 단위로 이동하는 것도 편해요:
| 키 | 동작 |
|---|---|
Ctrl+f | 한 화면 아래로 (forward) |
Ctrl+b | 한 화면 위로 (backward) |
Ctrl+d | 반 화면 아래로 (down) |
Ctrl+u | 반 화면 위로 (up) |
500줄짜리 로그 파일을 볼 때 Ctrl+f로 빠르게 훑어보세요.
심화 학습
- 위에서 만든
navigation.txt를vim으로 여세요. gg로 파일 처음,G로 파일 끝으로 이동해보세요.3G로 3번째 줄(port: 8080)로 이동해보세요.w를 눌러 단어를 하나씩 넘기다가b로 돌아와보세요.0으로 줄 처음,$로 줄 끝을 오가보세요.5j로 아래 5줄,3k로 위 3줄 이동해보세요.- 화살표 키를 쓰지 않고
hjkl만으로 5분간 돌아다녀보세요.
퀴즈
커서를 아래로 한 줄 내리는 키는?
다음 단어의 처음으로 이동하는 키는?
파일의 맨 처음으로 이동하는 키 조합은?