최근 수정 시각 : 2024-09-11 16:16:38

Neovim


<colbgcolor=#629D3D><colcolor=#fff> Neovim
파일:Neovim.svg
유형 모달 텍스트 에디터
버전 0.10.1
개발 언어 VimL, C, Lua
라이선스 아파치 라이선스 2.0
링크 파일:홈페이지 아이콘.svg [include(틀:GitHub 로고,링크=openssl/openssl,크기=20)]

1. 개요2. 특징

[clearfix]

1. 개요

hyperextensible Vim-based text editor

확장성을 고려한 vim포크 중 하나.

2. 특징

  • 고전 vim과의 완벽에 가까운 호환성
  • Lua 스크립팅 지원
  • LSP 내장 지원
  • 비동기 I/O 지원
  • 내장 터미널 버퍼 지원

vim의 고질적인 문제인 답답한 확장 개발 문제를 해결하기 위해 만들어진 프로젝트이니만큼, 겉으로는 차이가 눈에 띄지 않을 지 몰라도 내부적으로는 완전히 싹 다 갈아엎은 수준의 정교한 API를 제공하는데, 이 API가 대부분 Lua API이다. 확장성 떨어지는 ex기반 VimL을 쓰느니 LuaJIT 인터프리터 자체를 내장해 버려 훨씬 편리한 언어를 쓸 수 있게 만들겠다는 것.

이외에도 TreeSitter, LSP 등 현대적인 프로토콜과 API를 적극적으로 지원하여 확장만 사용하면 vscode급의 우수한 개발환경을 누릴 수 있다.

단, lua가 원체 개발자의 편의성을 고려한 언어는 아니고 라이브러리가 부족하다 보니 이로 인한 단점도 많은 편.