- Vim 9.2는 Vim9 스크립트 언어의 대폭 개선, 향상된 diff 모드, 완전한 자동완성 기능, Wayland 실험적 지원 등을 포함한 주요 업데이트임
-
fuzzy 매칭, 레지스터 기반 단어 완성, 새로운 completeopt 옵션 등으로 입력 모드 자동완성이 강화됨
-
Wayland UI 및 클립보드 지원, 수직 탭패널, Windows 네이티브 다크 모드 등 플랫폼별 UI 개선이 이루어짐
-
Enums, Generic 함수, Tuple 타입 등 언어 기능이 확장되어 AI 기반 플러그인 개발에도 활용 가능함
- Bram Moolenaar 사후에도 Vim은 Charityware 철학을 유지하며, 지원 단체가 Kuwasha로 이관됨
주요 기능 개선
-
자동완성 기능 강화
- 입력 모드에서 fuzzy 매칭을 지원하며, 레지스터(CTRL-X CTRL-R) 에서 직접 단어를 완성할 수 있음
-
'completeopt'에 nosort , nearest 옵션이 추가되어 결과 정렬 방식을 세밀하게 제어 가능
-
플랫폼 및 UI 개선
-
Wayland UI 및 클립보드 완전 지원
- Linux/Unix 계열에서 XDG Base Directory Specification을 준수하여 $HOME/.config/vim을 설정 경로로 사용
-
수직 탭패널 추가, Windows GUI는 메뉴·제목 표시줄의 다크 모드 및 고해상도 아이콘 지원
-
학습 지원 기능 추가
-
:Tutor 명령으로 실행되는 인터랙티브 튜터 플러그인이 새로 도입되어 기존 vimtutor보다 현대적인 학습 경험 제공
Vim9 스크립트 언어 확장
-
언어 구조 강화
-
Enum, Generic 함수, Tuple 데이터 타입이 새로 지원됨
- 내장 함수가 객체 메서드로 통합되고, 클래스는 보호된 _new() 메서드 및 :defcompile 을 통한 완전한 메서드 컴파일 지원
-
AI 도구와의 통합
- GitHub Copilot을 활용한 두 가지 예시 프로젝트가 공개됨
-
Battleship in Vim9: 클래스를 활용한 고전 게임 구현
-
Number Puzzle: 인터랙티브 플러그인 형태의 논리 퍼즐
Diff 모드 개선
-
Linematch 알고리듬
-
'diffopt' 설정에 새로 추가되어 유사한 줄 간의 변경을 정렬, 하이라이팅 정확도 향상
-
Diff Anchors
-
'diffanchors' 옵션으로 앵커 포인트를 지정해 복잡한 파일의 구간별 diff 정렬 가능
-
Inline Highlighting
- 한 줄 내 변경 사항을 세밀하게 표시하며, "inline" 하위 옵션으로 제어 가능
-
"inline:simple"이 기본 'diffopt' 값에 포함됨
기본값 변경
- 현대적 환경에 맞게 여러 기본 설정값이 갱신됨
-
'history': 50 → 200
-
'backspace': 빈값 → "indent,eol,start"
-
'diffopt': "internal,filler" → "internal,filler,closeoff,indent-heuristic,inline:char"
-
'fontsize' (GTK): 10pt → 12pt
-
'showcmd', 'ruler': 기본 On으로 변경
기타 개선 및 버그 수정
- Vim 9.1 이후 다수의 보안 취약점, 메모리 누수, 충돌 문제가 수정됨
자선 활동 전환
-
ICCF Holland 해산
- 창립자 Bram Moolenaar 사망 이후 재단이 유지 불가하여 해산됨
- 남은 자금은 Kibaale 프로젝트 지원을 위해 이전됨
-
Kuwasha와의 협력
- 캐나다 기반 단체 Kuwasha가 우간다 프로젝트를 이어받아 후원 지속
-
Charityware 지속
- Vim은 여전히 Charityware로 유지되며, 사용자는 Kuwasha를 통해 기부 가능
감사 및 배포
- 패치, 번역, 버그 리포트 등으로 기여한 모든 참여자에게 감사 표시
- 최신 버전은 Download 페이지에서 제공됨