DaleSchool

버퍼, 윈도우, 탭

입문20분

학습 목표

  • 버퍼, 윈도우, 탭의 차이를 설명할 수 있다
  • :split, :vsplit으로 화면을 분할할 수 있다
  • :bnext, :bprev로 버퍼를 전환할 수 있다
  • 여러 파일을 동시에 열어 작업할 수 있다

동작하는 코드

index.htmlstyle.css를 동시에 편집해야 한다고 상상해보세요. Vim에서는 화면을 나눠서 양쪽 파일을 동시에 볼 수 있어요.

:e index.html        ← index.html 열기
:vs style.css        ← 세로로 화면을 나누고 style.css 열기

화면이 이렇게 나뉘어요:

┌──────────────┬──────────────┐
│ index.html   │ style.css    │
│              │              │
│ <div>        │ .container { │
│   <h1>       │   margin: 0; │
│   </h1>      │ }            │
│ </div>       │              │
└──────────────┴──────────────┘

왼쪽과 오른쪽 사이를 Ctrl+w h(왼쪽)와 Ctrl+w l(오른쪽)로 오갈 수 있어요.

직접 수정하기

터미널에서 여러 파일을 한 번에 열어보세요.

vim index.html style.css app.js

Vim이 열리면 아래 명령들을 순서대로 실행해보세요.

:ls              ← 열려 있는 버퍼 목록 확인
:bn              ← 다음 버퍼(style.css)로 이동
:bn              ← 다음 버퍼(app.js)로 이동
:bp              ← 이전 버퍼(style.css)로 돌아가기
:b index         ← 이름으로 버퍼 찾기 (일부만 입력해도 됨)

이제 화면 분할을 시도해보세요.

:sp              ← 가로 분할 (같은 파일)
:vs              ← 세로 분할 (같은 파일)
Ctrl+w j         ← 아래쪽 윈도우로 이동
Ctrl+w k         ← 위쪽 윈도우로 이동
Ctrl+w =         ← 모든 윈도우 크기 균등하게
:close           ← 현재 윈도우 닫기 (버퍼는 유지)

탭도 써보세요.

:tabnew app.js   ← 새 탭에서 app.js 열기
gt               ← 다음 탭으로
gT               ← 이전 탭으로
:tabclose        ← 현재 탭 닫기

"왜?"

이 세 가지 개념은 책상 위의 문서 작업으로 비유할 수 있어요.

버퍼는 책상 위에 펼쳐놓은 문서예요. 10개의 파일을 열면 10개의 버퍼가 만들어져요. 눈에 보이지 않아도 메모리에 떠 있어요. :bd(buffer delete)로 치우기 전까진 계속 열려 있어요.

윈도우는 문서를 보는 화면 영역이에요. 같은 버퍼를 두 개의 윈도우에 동시에 표시할 수도 있어요. 윈도우를 닫아도(:close) 버퍼는 사라지지 않아요 — 그냥 보이지 않을 뿐이에요.

작업 데스크예요. 각 탭은 윈도우 배치를 독립적으로 가지고 있어요. "HTML/CSS 작업용 탭"과 "JavaScript 작업용 탭"을 따로 만들어서 전환할 수 있어요.

핵심 관계를 기억하세요: 버퍼 ⊃ 윈도우 ⊃ 탭이 아니에요. 탭은 윈도우 레이아웃이고, 윈도우는 버퍼의 뷰이고, 버퍼는 파일 내용이에요. 서로 독립적인 개념이에요.

심화 학습

버퍼 관련 명령어 정리
명령동작
:e {파일}파일을 버퍼로 열기
:ls열린 버퍼 목록 보기
:bn / :bp다음/이전 버퍼
:b {이름}이름으로 버퍼 전환 (부분 일치)
:bd현재 버퍼 삭제
:b#직전 버퍼로 전환
윈도우 이동 단축키

Ctrl+w 다음에 이동 방향 키를 누르면 돼요.

동작
Ctrl+w h왼쪽 윈도우
Ctrl+w j아래쪽 윈도우
Ctrl+w k위쪽 윈도우
Ctrl+w l오른쪽 윈도우
Ctrl+w w다음 윈도우 (순환)
Ctrl+w =크기 균등하게
Ctrl+w _현재 윈도우 높이 최대화
Ctrl+w |현재 윈도우 너비 최대화

아래 시나리오를 직접 해보세요.

  1. vim을 실행하세요 (파일 없이)
  2. :e ~/.vimrc로 설정 파일을 열어보세요
  3. :vs로 세로 분할하세요
  4. 오른쪽 윈도우에서 :e ~/.bashrc를 열어보세요
  5. :ls로 두 버퍼가 모두 열려 있는지 확인하세요
  6. Ctrl+w hCtrl+w l로 양쪽을 오가보세요
  7. :close로 현재 윈도우를 닫고, :ls로 버퍼가 여전히 살아있는지 확인하세요

핵심 포인트: 윈도우를 닫아도 버퍼는 사라지지 않아요.

question: Vim에서 버퍼(buffer)란 무엇인가요? answers:

question: 화면을 세로로 분할하는 명령은? answers:

question: 윈도우를 닫으면 해당 파일의 버퍼도 함께 사라지나요? answers: