Windows에서 Neovim(LazyVim) 스타트업 속도 극적으로 개선하기

Windows에서 Neovim(LazyVim) 스타트업 속도 극적으로 개선하기

Windows에서 LazyVim 기반 Neovim을 사용하면서 항상 불만이었던 점은 터미널을 띄우고 nvim을 실행할 때 체감될 정도로 느린 초기 구동 속도였다. 리눅스에서는 즉시 켜지는 반면, Windows에서는 수 초가 걸리는 경우도 흔했다.

원인은 대부분 Windows Defender의 실시간 파일 검사였다. Neovim은 시작 시 수천 개의 Lua 파일과 플러그인 파일을 로드하는데, 이 모든 I/O가 Defender에 의해 실시간 스캔되면서 큰 지연이 발생한다.

아래 설정을 적용한 후, Windows에서도 리눅스 수준으로 즉시 Neovim이 실행되도록 개선되었다.


적용한 설정 (PowerShell 관리자 권한)

Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\nvim"
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\nvim-data"
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\Temp\nvim" (?)

Add-MpPreference -ExclusionProcess "nvim.exe"
Add-MpPreference -ExclusionProcess "node.cmd"

각 설정의 의미

  • nvim
    Neovim 설정 디렉토리
  • nvim-data
    Lazy.nvim, 플러그인, 캐시, tree-sitter 파서 등이 저장되는 핵심 디렉토리
  • Temp\nvim (?)
    Lua 캐시, 임시 파일, tree-sitter 빌드 파일 사용 경로 (?)
  • nvim.exe 프로세스 제외
    Neovim 자체의 모든 파일 접근을 Defender 후킹 없이 수행
  • node.cmd 프로세스 제외
    LSP, formatter, tree-sitter, eslint 등 Node 기반 툴 실행 시 지연 제거

적용 전 / 후 체감 차이

항목적용 전적용 후
nvim 최초 실행2~6초0.2~0.4초
LazyVim 로딩 체감버벅임 있음즉시 로딩
LSP 첫 반응지연 있음즉시 반응

특히 node.cmd 제외 후에는 LSP, formatter, tree-sitter 업데이트 속도까지 함께 개선되었다.


결론

Windows에서 Neovim이 느렸던 문제는 설정이나 LazyVim 자체 문제가 아니라 100% Windows Defender 실시간 스캔이 원인이었다. 위 5줄 설정만으로:

  • Neovim 스타트업 즉시 실행
  • 플러그인 로딩 속도 정상화
  • LSP 응답 지연 완전 제거

라는 효과를 얻을 수 있었다.

Windows에서 LazyVim을 쓰고 있는데 시작이 느리다면, 가장 먼저 해야 할 설정이다.

0개의 댓글