[TIL] Missing Semester #3: Development Environment

2026. 04. 11.Yeji Kim
missing-semester

Claude와 함께 MIT Missing Semester 강의를 실습하며 정리한 내용입니다.

들어가며

이번 강의는 개발 환경을 이루는 핵심 도구들을 다룬다.

핵심 개념

IDE vs 터미널

  • IDE (VS Code, IntelliJ) - GUI 기반, 올인원, 확장으로 기능 추가
  • 터미널 (Vim + tmux) - 텍스트 기반, 가볍고 빠름, 서버에서도 동일 환경

둘을 조합해서 쓸 수도 있다 (VS Code + Vim 모드).

Vim: 모달 편집

대부분의 에디터는 타이핑하면 바로 글자가 입력되지만, Vim은 모드에 따라 같은 키가 다른 동작을 한다.

모드진입 키역할
NormalEsc이동, 삭제, 복사 (기본 모드)
Inserti텍스트 입력
Visualv텍스트 선택
Command:저장, 종료, 검색 등

대부분의 시간을 Normal 모드에서 보내고, Insert는 타이핑할 때만 잠깐 진입한다.

이동 (명사)

이동
h j k l← ↓ ↑ →
w / b다음/이전 단어
0 / $줄 처음/끝
gg / G파일 처음/끝
f{문자}해당 문자로 점프
/{패턴}검색 (n으로 다음 결과)

편집 (동사)

동작
d삭제
c삭제 + Insert 모드
y복사
p붙여넣기
u실행 취소
.마지막 동작 반복

Composability (조합)

동사 + 명사를 조합해서 쓰는 게 Vim의 핵심:

  • dw - 단어 삭제 (delete + word)
  • ci" - 따옴표 안 내용 바꾸기 (change inside ")
  • ci(, ci{ - 괄호/중괄호 안 바꾸기
  • y3j - 아래 3줄 복사
  • dd - 줄 삭제
  • yyp - 줄 복사 후 붙여넣기

몇 개 동사와 명사만 외우면 수십 가지 동작이 가능하다.

기본 명령어

:w 저장, :q 종료, :wq 저장 후 종료, :q! 저장 안 하고 종료.

LSP (Language Server Protocol)

에디터와 언어 분석 엔진 사이의 표준 프로토콜. 예전에는 에디터마다 별도 플러그인이 필요했지만, LSP 덕에 어떤 에디터든 같은 언어 지원을 받을 수 있게 됐다.

  • jump-to-definition - 함수 정의로 이동 (Cmd + 클릭)
  • autocomplete - 자동완성
  • diagnostics - 에러/경고 표시
  • hover - 타입 정보 표시

VS Code에서 매일 쓰는 이 기능들이 전부 LSP 기반이다.

실습 기록

Vim 조합 연습

.txt 파일에서 ci", dw, yy+p, . 등 조합을 실습. 특히 ci"는 프론트엔드에서 문자열 안 내용을 바꿀 때 유용하다.

.vimrc 설정

vim
set number          " 줄 번호
set relativenumber  " 상대 줄 번호
set tabstop=2       " 탭 = 2칸
set shiftwidth=2    " 들여쓰기 = 2칸
set expandtab       " 탭을 스페이스로
set incsearch       " 검색 시 실시간 하이라이트
set hlsearch        " 검색 결과 하이라이트

블로그 파일을 Vim으로 탐색

vim content/til/missing-semester-01-shell.mdx로 실제 파일을 Vim에서 열어보고, / 검색과 gg/G 이동을 실습.


레퍼런스