Neovim plugin의 현대 표준
lazy.nvim (folke/lazy.nvim) 이 2026년 Neovim의 사실상 표준 plugin 매니저야. 이벤트나 명령, 파일 종류에 맞춰 늦게 불러오는 lazy-loading, 시작할 때 알아서 설치해주기, lockfile로 버전 고정하기, 상태와 성능을 볼 수 있는 깔끔한 UI까지 다 갖췄어.
Bootstrap — 표준 조각
bootstrap은 init.lua 맨 위에 놔. lazy.nvim이 깔려 있는지 보고, 없으면 git clone 해와. 그다음 require("lazy").setup(plugins)가 넘겨받아서 나머지를 전부 설치해.
Plugin spec
plugin 하나가 Lua table이야. 문자열 (GitHub의 user/repo) 하나에 선택 항목들을 얹는 형태지.
dependencies— 같이 필요한 다른 plugin.config— plugin을 불러온 뒤 실행할 함수 (보통require("plugin").setup({...})).opts— config가require("plugin").setup(opts)뿐일 때 쓰는 줄임 형태.event— 특정 이벤트에 불러오기 (BufReadPost,InsertEnter,VeryLazy).cmd— 그 명령을 처음 쓸 때 불러오기.ft— 특정 파일 종류에서만 불러오기.keys— 그 키를 처음 누를 때 불러오기.build— 설치 후 실행할 셸 명령 (예를 들면 treesitter의:TSUpdate).
Starter plugin 묶음
plugin 여섯 개면 사람들이 까는 것의 8할쯤은 덮여.
- nvim-treesitter — AST 기반의 정확한 syntax 표시, 구조 단위 text object.
- telescope.nvim — 파일, grep, buffer, LSP 심볼까지 뭐든 찾아주는 fuzzy finder.
- nvim-lualine — 예쁜 status 줄.
- which-key.nvim — 타이핑하는 동안 leader keymap을 메뉴로 띄워줘.
- nvim-autopairs — 괄호랑 따옴표를 알아서 닫아줘.
- nvim-surround — 감싸는 짝에
ys/ds/cs로 작업.
:Lazy 안에서 살아. lazy.nvim UI가 plugin마다 불러오는 데 걸린 시간을 보여주고, update와 clean과 sync를 다 할 수 있고, 깨진 것도 짚어줘. 설치가 끝나면 :Lazy profile을 돌려봐. 어떤 plugin이 시작 시간을 잡아먹고 있는지 정확히 나와.