DaleSchool

커서 움직이기

입문15분

학습 목표

  • h, j, k, l로 커서를 이동할 수 있다
  • w, b, e로 단어 단위로 이동할 수 있다
  • 0, $로 줄의 처음과 끝으로 이동할 수 있다
  • gg, G로 파일의 처음과 끝으로 이동할 수 있다

동작하는 코드

아래 에디터에서 h, j, k, l로 커서를 움직여보세요. 단어 단위 이동(w, b, e)과 줄 시작/끝 이동(0, $)도 시도해보세요.

navigation.txtNORMAL
Loading Vim…

실제 터미널에서 파일을 열어 연습해도 좋아요:

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 또는 :55번째 줄로 이동

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_KEY3j
줄 끝의 'abc123'으로$
파일 맨 위 주석으로gg
3번째 줄로3G 또는 :3
다음 단어로 이동하며 훑기w 반복
화면 단위 스크롤

긴 파일에서는 화면 단위로 이동하는 것도 편해요:

동작
Ctrl+f한 화면 아래로 (forward)
Ctrl+b한 화면 위로 (backward)
Ctrl+d반 화면 아래로 (down)
Ctrl+u반 화면 위로 (up)

500줄짜리 로그 파일을 볼 때 Ctrl+f로 빠르게 훑어보세요.

심화 학습

  1. 위에서 만든 navigation.txtvim으로 여세요.
  2. gg로 파일 처음, G로 파일 끝으로 이동해보세요.
  3. 3G로 3번째 줄(port: 8080)로 이동해보세요.
  4. w를 눌러 단어를 하나씩 넘기다가 b로 돌아와보세요.
  5. 0으로 줄 처음, $로 줄 끝을 오가보세요.
  6. 5j로 아래 5줄, 3k로 위 3줄 이동해보세요.
  7. 화살표 키를 쓰지 않고 hjkl만으로 5분간 돌아다녀보세요.

퀴즈

커서를 아래로 한 줄 내리는 키는?

다음 단어의 처음으로 이동하는 키는?

파일의 맨 처음으로 이동하는 키 조합은?