Neovim은 확장성을 고려해 재구성한 Vim 기반 텍스트 편집기로, 플러그인과 외부 UI가 편집기를 제어할 수 있도록 Lua 및 RPC API를 제공합니다.
neovim/nvim-lspconfig
Neovim을 다양한 프로그래밍 언어 서버에 연결할 수 있는, 바로 사용할 수 있는 Language Server Protocol 설정 모음입니다.
- 스타
- 14,000
- 포크
- 2,502
- 열린 이슈
- 40
- 마지막 커밋
- 12시간 전
어떤 프로젝트인가요?
nvim-lspconfig는 Neovim에 내장된 LSP 클라이언트용으로 서버별 설정 파일을 제공합니다. 각 설정은 Neovim에서 언어 서버를 실행하는 방법, 적용할 파일 형식, 프로젝트 루트를 감지하는 방법을 지정하므로, 이러한 설정을 직접 작성하지 않아도 코드 완성, 진단, 탐색 기능을 사용할 수 있습니다.
사용자는 언어 서버 바이너리를 직접 설치한 다음 vim.lsp.enable()으로 서버를 활성화합니다. 이 플러그인은 서버를 설치하지 않습니다. 기본 설정에 vim.lsp.config()로 사용자 설정을 추가할 수 있으며, 설정 파일에서 자동 완성과 진단을 사용할 수 있도록 서버 설정용 Lua 타입 어노테이션도 제공합니다.
이 프로젝트는 더 이상 사용되지 않는 기존 require('lspconfig') 프레임워크에서 Nvim 0.11에 도입된 네이티브 vim.lsp.config API로 전환 중입니다. 설정 자체는 계속 지원되며 lsp/ 디렉터리에 있습니다.
핵심 기능
- 01lsp/ 디렉터리에 다양한 언어 서버의 설정을 제공합니다.
- 02vim.lsp.enable()을 한 번 호출해 서버를 활성화할 수 있습니다.
- 03vim.lsp.config() 또는 after/lsp/ 파일로 기본 설정을 재정의할 수 있습니다.
- 04서버 설정용 Lua 타입 어노테이션을 제공합니다.
- 05서버가 올바른 프로젝트에 연결되도록 루트 마커 감지 기능을 포함합니다.
활용 사례
- Neovim에서 Python, Rust, Lua의 코드 완성과 진단 기능을 설정할 때.
- 팀의 Neovim 환경 전반에서 LSP 설정을 표준화할 때.
- 아직 기본 설정에 포함되지 않은 언어 서버를 추가할 때.
빠른 시작
- 1
pyright 같은 language server를 설치합니다
npm i -g pyright - 2
init.lua에서 해당 설정을 활성화합니다
vim.lsp.enable('pyright') - 3
Nvim에서 코드 파일을 열어 LSP가 연결되도록 합니다
nvim main.py
사용 전 알아둘 점
- Nvim 0.11.3 이상이 필요하며 language server를 대신 설치해 주지는 않습니다.
- 기존 require('lspconfig') 프레임워크는 더 이상 권장되지 않으며 vim.lsp.config를 사용하는 것이 좋습니다.
토픽
자주 묻는 질문
- nvim-lspconfig은(는) 무엇인가요?
- Neovim을 다양한 프로그래밍 언어 서버에 연결할 수 있는, 바로 사용할 수 있는 Language Server Protocol 설정 모음입니다. nvim-lspconfig는 Neovim에 내장된 LSP 클라이언트용으로 서버별 설정 파일을 제공합니다. 각 설정은 Neovim에서 언어 서버를 실행하는 방법, 적용할 파일 형식, 프로젝트 루트를 감지하는 방법을 지정하므로, 이러한 설정을 직접 작성하지 않아도 코드 완성, 진단, 탐색 기능을 사용할 수 있습니다.
- nvim-lspconfig은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- nvim-lspconfig은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- nvim-lspconfig은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. nvim-lspconfig의 마지막 커밋은 2026년 11월 6일입니다.
- nvim-lspconfig은(는) 어디에 사용할 수 있나요?
- Neovim에서 Python, Rust, Lua의 코드 완성과 진단 기능을 설정할 때. 팀의 Neovim 환경 전반에서 LSP 설정을 표준화할 때. 아직 기본 설정에 포함되지 않은 언어 서버를 추가할 때.
- nvim-lspconfig는 어떻게 설치하나요?
- pyright 같은 language server를 설치합니다: npm i -g pyright init.lua에서 해당 설정을 활성화합니다: vim.lsp.enable('pyright') Nvim에서 코드 파일을 열어 LSP가 연결되도록 합니다: nvim main.py
- nvim-lspconfig은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/neovim/nvim-lspconfig
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
입력 중 비동기로 코드를 린트하고 prettier, eslint 같은 도구로 수정하며 LSP 클라이언트 역할도 하는 Vim 및 Neovim 플러그인입니다.
사이드바, 플로팅 창, netrw 스타일 레이아웃에서 파일 시스템과 기타 트리 구조를 탐색하는 Neovim 플러그인입니다.
Rust로 작성된 빠른 Python 타입 검사기이자 언어 서버로, 탐색, 자동 완성, 시맨틱 하이라이팅 같은 IDE 기능을 제공합니다.
Elixir 프로젝트에 편집기 코드 인텔리전스를 제공하는 공식 Elixir Language Server Protocol 구현체입니다.
Vim에서 모드, Git 상태, 파일 정보와 커서 위치를 표시하는 가볍고 확장 가능한 상태줄 및 탭줄 플러그인입니다.