Neovim 0.12.6: 설정을 Lua로 쓰고 언어 서버를 품은 터미널 편집기
요약
터미널에서 도는 텍스트 편집기입니다. 편집 방식은 Vim 그대로 두고 설정은 Lua로 옮겼으며, 언어 서버 클라이언트와 구문 분석이 핵심에 들어 있습니다. 현재 판은 0.12.6이고 Apache 라이선스로 공개되었습니다.
추천- 이름
- Neovim
- 버전
- 0.12.6
- 요금
- 무료
- 오픈소스
- 오픈소스
- 운영체제
- WindowsmacOSLinux
- 공식 사이트
- https://neovim.io/
- 업데이트
- 2026-10-13 11:59
터미널에서 코드를 쓰는 사람에게 인내심이 모자란 경우는 드물다. 모자란 쪽은 창을 몇 번씩 바꾸지 않아도 되는 자리다.
Vim에서 출발한 다시 짜기
터미널 편집기의 좋은 점은 간단히 말할 수 있다. 화면이 있는 환경에 기대지 않고, 기계에 요구하는 것이 적고, 원격 연결 너머에서도 그대로 돌아간다. 오래 쓴 편집기의 손동작은 십 년쯤 지나면 반사가 되고, 다른 도구로 옮기는 값은 너무 비싸서 대부분은 옮기지 않는다. 이런 소프트웨어가 오래 살고 바꾸기 어려운 까닭도 거기에 있다.
Neovim은 바로 그 틈에 서 있다. 공식 정의는 짧다. 크게 확장할 수 있는, Vim을 바탕으로 한 텍스트 편집기다. 달라진 것은 안쪽을 짜는 방식이다. 예전에는 한 덩어리로 굳어 있던 부분이 부품으로 나뉘어, 편집 핵심과 화면, 확장 방식이 각각 독립하고 정해진 연결 지점을 통해 주고받는 구조가 되었다. 그 뒤에 일어난 많은 변화가 이 나눔에서 나왔다.
쓰는 사람에게 가장 직접적인 것은 호환성이다. 기능 페이지에는 Vim의 편집 방식과 첫 판 Vim 스크립트 언어에 완전히 맞는다고 적혀 있다. 키 배치와 기존 스크립트가 그대로 돌아가고, 지금까지의 설정도 하나씩 옮기면 되며 한 번에 다시 쓸 필요가 없다. 공식 문서에는 Vim에서 넘어온 사람을 위한 입구도 따로 마련되어 있다.

설정, 분석, 확장 방식
설정이 Lua로 옮겨 오면서 설정 자체를 조건과 반복이 있는 프로그램으로 쓸 수 있게 되었고, 긴 대입문의 나열일 필요가 없어졌다. 확장도 Lua로 쓸 수 있다. 공식 설명으로는 설정이 하나의 Lua 파일에 놓이고 스크립트와 확장이 같은 언어를 나눠 쓰므로, 예전에 두 문법 사이에서 논리를 옮겨 다니던 일이 사라졌다.
편집 경험에서는 두 가지를 따로 짚고 싶다. 하나는 구문 분석으로, Tree-sitter가 줄 단위 대조가 아니라 문법 구조로 코드를 읽는다. 그래서 괄호 짝, 함수나 클래스 단위 선택, 구문 강조가 실제 구조를 따라 더 정확해진다. 다른 하나는 언어 서버 클라이언트를 핵심에 넣은 것으로, 각 언어의 분석 도구를 연결하면 정의로 이동, 참조 목록, 이름 바꾸기 같은 여러 파일에 걸친 작업을 쓸 수 있다. 언어마다 같은 장치를 다시 만들 필요가 없다.
확장 방식에서 조금 특이한 것은 원격 호출 연결 지점이다. 공식 설명에 따르면 확장은 어떤 언어로도 쓸 수 있고, 화면이 있는 프로그램과 통합 개발 환경, 심지어 브라우저까지 편집 핵심을 부품으로 넣을 수 있다. 내장 터미널도 실용적인 추가다. 빌드, 기록 확인, 코드 편집이 한 창에 모여 전환의 층이 하나 줄어든다.
판과 받는 방법
공개 페이지에는 Linux, macOS, Windows 모두 같은 판 번호의 결과물이 있어 환경을 바꿔도 설정을 그대로 들고 갈 수 있는 경우가 많다. 현재 최신 판은 0.12.6이다. 같은 계열 안의 수정 판은 문제 고치기가 중심이고, 계열을 넘는 갱신 전에는 변경 설명을 한 번 읽는 편이 안전하다.
프로젝트는 Apache-2.0으로 공개되어 실행, 수정, 재배포가 허용되며 특허 조항도 포함한다. 편집기를 기업 개발 과정에 붙이는 조직에서는 이 점이 순수하게 관대한 라이선스와 자주 비교된다. 공동체는 미리 설정을 갖춘 묶음도 몇 가지 유지하는데, 설치하면 제법 갖춰진 환경이 되어 설정을 처음부터 쌓고 싶지 않은 사람이 일단 돌아가는 상태에서 시작하기에 알맞다.
항목 | 공식 정보 |
|---|---|
현재 판 | 0.12.6 |
형태 | 터미널 텍스트 편집기 |
환경 | Linux, macOS, Windows |
설정 언어 | Lua |
주요 기능 | 언어 서버 클라이언트, Tree-sitter 분석, 원격 호출 확장, 내장 터미널 |
라이선스 | Apache-2.0 |
예전 손동작을 남겨 두고 설정과 확장을 더 쓰기 쉬운 언어로 옮긴 것이 이번 다시 짜기의 실질적인 알맹이다.
실무적인 주의 몇 가지. Vim에서 옮길 때는 옛 설정을 통째로 남겨 편집기가 계속 뜨게 하고, 거기서부터 하나씩 새 방식으로 바꾼다. 한 번에 하나면 문제 지점을 찾기 쉽다. 언어 서버는 실제로 쓰는 언어만 연결한다. 너무 많이 붙이면 시작이 눈에 띄게 느려진다. 확장은 수를 적게 유지하고, 문제가 생기면 하나씩 꺼서 원인을 확인하는 편이 잔뜩 깔고 나서 찾는 것보다 수월하다.