Dev Tools
Geek Rating 5.0 / 5.0
VS Code에서 Neovim(Lua)으로 갈아탄 6개월 회고: 타협 없는 개발 환경
마우스 없는 순수 키보드 네비게이션, 0.05초 미만의 번개 같은 기동 속도, Treesitter와 LSP 기반의 완벽한 코드 인텔리전스 구축 경험기.
2026년 3월 1일2분 분량By GeekStory Team
Neovim, Lua, Vim, Productivity, Terminal
VS Code에서 Neovim(Lua)으로 갈아탄 6개월 회고
개발자의 도구 상자에서 에디터는 매일 수만 번의 타이핑이 일어나는 가장 중요한 작업대입니다. 수년간 무거운 확장 플러그인들로 채워진 VS Code에 익숙해져 있었지만, 점차 무거워지는 메모리 점유율과 알 수 없는 입력 지연에 피로감을 느끼기 시작했습니다.
그렇게 결심한 Neovim으로의 전환. 지난 6개월 동안 업무와 개인 프로젝트 전반을 순수 Neovim 환경에서 소화하며 느낀 인사이트와 필수 플러그인 설정을 공유합니다.
1. 전환 후 얻은 것들
- 극단적인 속도감 (Cold Start < 35ms): 수만 줄짜리 모노레포를 열 때도 0.1초도 걸리지 않고 즉시 반응합니다.
- 사고의 흐름과 일치하는 텍스트 조작:
ci((괄호 안 내용 변경),dap(단락 삭제) 같은 Vim 오퍼레이터는 텍스트를 글자가 아닌 AST 단위 구조로 다루게 해줍니다. - 완전한 설정의 소유권: 내 에디터의 모든 동작이 Git 리포지토리의 Lua 스크립트로 투명하게 관리됩니다.
2. 모던 Neovim 핵심 플러그인 아키텍처
- 패키지 매니저:
lazy.nvim(초고속 지연 로딩) - 문법 분석 & 구문 강조:
nvim-treesitter(Incremental Parsing) - 코드 탐색 & 인텔리전스:
nvim-lspconfig,mason.nvim,blink.cmp(또는nvim-cmp) - 퍼지 파인더:
telescope.nvim또는 초경량fzf-lua - 파일 트리 & 버퍼라인:
oil.nvim(버퍼를 텍스트 편집하듯 파일명 변경)
-- lua/plugins/treesitter.lua
return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
require("nvim-treesitter.configs").setup({
ensure_installed = { "typescript", "tsx", "rust", "go", "lua", "markdown" },
highlight = { enable = true },
indent = { enable = true },
})
end,
}
3. 추천 전환 전략: 무작정 처음부터 짜지 마세요
처음부터 init.lua 빈 파일에서 시작하면 수많은 벽에 부딪힙니다.
LazyVim이나 AstroNvim 같은 잘 정돈된 배포판을 베이스로 시작한 뒤, 구조를 이해하면서 점진적으로 내 취향에 맞게 오버라이드하는 접근법을 강력히 권장합니다.