C.W.K.
Stream
Lesson 02 of 08 · published

Vim vs Neovim

~10 min · vim, neovim, tooling

Level 0갇힌 자
0 XP0/35 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

같은 언어, 다른 런타임

Neovim은 2014년에 시작된 Vim의 fork야. 코드베이스 현대화, Lua를 first-class config 언어로 임베드, async 아키텍처 채용이 목적이었어. 실용적으로 거의 모든 편집 지식이 호환돼 — 이 퀘스트에서 배울 모든 motion, operator, text object가 둘 다에서 똑같이 작동해. 차이는 config 스토리와 plugin 생태계에서 나와.

같은 부분

모달 편집, motion, text object, register, mark, macro, : command line, Vimscript 자체 — 전부 동일. Vim에서 ciw를 익히면 Neovim에서도 똑같이 작동해. 머슬 메모리가 공유된다는 게 핵심 포인트야.

Neovim이 추가한 부분

  • Lua configurationinit.lua가 진짜 프로그래밍 언어야. table, closure, stdlib 다 있어. Vimscript의 특이한 DSL이 아니라.
  • 내장 LSP 클라이언트 — plugin 한 개도 없이 코드 인텔리전스 (rename, definition, hover docs).
  • 내장 Treesitter — AST 기반 하이라이팅 + 구조적 text object.
  • Async 아키텍처 — UI를 안 얼리고 백그라운드에서 plugin이 돌아가.
  • 현대적인 defaultbackspace 정상 작동, syntax on, filetype detection on, true colors 인식.

현재 버전 (2026 기준)

Neovim 0.11이 stable 라인. Vim 9.1+가 upstream의 현재 버전. 둘 다 활발히 유지돼. Neovim이 현대적 기능 (LSP, async, Lua) 쪽으로 더 빨리 가고, Vim은 클래식한 느낌을 더 보존해.

Neovim 0.11 알아둘 만한 하이라이트

  • vim.lsp.config() + vim.lsp.enable()로 LSP 설정 — 기본 사용에는 nvim-lspconfig plugin이 더 이상 필요 없어.
  • 기본 LSP 매핑: grn (rename), grr (references), gri (implementation), gra (code action). 서버만 attach되면 그냥 작동.
  • Async treesitter 하이라이팅 — 큰 파일에서 UI 멈춤 X.
  • completeopt+=fuzzy로 fuzzy completion.
이 퀘스트의 권장 사항: Neovim 깔아. 트랙 1–3은 둘 다에서 작동하고, 트랙 4부터는 Neovim 전용 기능 (Lua config, native LSP, lazy.nvim)에 의존해. vim밖에 없는 서버에 갇히면 편집 스킬은 100% 그대로 적용돼.

Code

Neovim 설치하고 버전 확인·bash
# macOS
brew install neovim

# Ubuntu / Debian (0.11+ 받으려면 unstable PPA — distro repo 는 늦어)
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update && sudo apt install neovim

# Arch / Manjaro
sudo pacman -S neovim

# Fedora
sudo dnf install neovim

# 검증
nvim --version | head -1   # NVIM v0.11.x 이상이어야 함
vim --version | head -1    # 클래식 Vim도 있는 경우
Neovim 0.11 기본 LSP 매핑 — 그냥 박혀 있어·vim
grn      " 커서 위 심볼 rename
grr      " references 찾기
gri      " implementation 으로 점프
gra      " code action
gO       " document symbols (outline)
[d  ]d   " 이전 / 다음 diagnostic
Ctrl-W d " diagnostic float 보기
K        " hover documentation

External links

Exercise

Neovim 0.11+ 깔아. nvim --version으로 0.11 이상인지 확인. 그리고 nvim +checkhealth로 출력 읽어 — clipboard, providers, compiler 관련 warning이 뭐가 있는지 살펴. 지금 고치진 말고, Neovim이 뭘 원하는지만 봐. configuration 트랙에서 정리할 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.