Vim 9.2 릴리즈
(vim.org)- 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옵션이 추가되어 결과 정렬 방식을 세밀하게 제어 가능
- 입력 모드에서 fuzzy 매칭을 지원하며, 레지스터(
-
플랫폼 및 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: 인터랙티브 플러그인 형태의 논리 퍼즐
- GitHub Copilot을 활용한 두 가지 예시 프로젝트가 공개됨
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 페이지에서 제공됨
Hacker News 의견들
-
Vim9이 계속 발전하는 걸 보니 반가움
중심이 다소 Neovim 쪽으로 옮겨간 듯하지만, Neovim 생태계는 IDE 같은 환경을 원하는 사람들에게 초점이 맞춰져 있는 듯함
궁금한 점은, 더 많은 플러그인 개발자들이 Vim9Script로 옮겨갈까 하는 부분임. Neovim 사용자는 대부분 Lua 기반 플러그인으로 이동했기에, 양쪽을 모두 지원할 동기가 줄어든 것 같음- 나는 vim9script를 정말 좋아해서, 다른 vim에서도 동작해야 할 때를 제외하면 대부분 그걸로 플러그인을 작성함
특히 tuple 지원이 추가된 게 정말 기쁨 - 나는 플러그인을 배포하지 않지만, Neovim의 Lua 지원이 Emacs에서 옮겨온 주된 이유였음
Elisp과 Vimscript 모두 나에겐 너무 답답했음
그래도 선택권이 있었다면 Lua 말고 다른 언어를 원했을 것 같음
- 나는 vim9script를 정말 좋아해서, 다른 vim에서도 동작해야 할 때를 제외하면 대부분 그걸로 플러그인을 작성함
-
Vim이 30년 넘게 Charityware로 운영되어 온 점이 인상적임
Bram Moolenaar가 세상을 떠난 후 ICCF Holland 재단이 해산되었지만, 남은 자금은 우간다의 Kibaale 프로젝트를 계속 지원하도록 이전되었음
나는 기술적인 이유로 vim을 선택했지만, Bram이 선의로 이런 기부 활동을 이어온 걸 알고 나서는 더 뿌듯했음- 예전에 대기업에서 일할 때 vim을 내부 사용 승인받으려 했는데, 이 charityware 조항 때문에 법무팀이 기부 의무 여부로 한참 논쟁했음
결국 리눅스 배포판에 이미 포함돼 있다는 사실은 그냥 조용히 넘어갔음
그래도 Bram의 뜻은 전적으로 지지함 - 사람들이 vim에 기부하면, 그 돈이 우간다 아동 지원 단체로 전달된다는 게 맞는지 궁금함
- 예전에 대기업에서 일할 때 vim을 내부 사용 승인받으려 했는데, 이 charityware 조항 때문에 법무팀이 기부 의무 여부로 한참 논쟁했음
-
나는 vim 팬이지만 결국 nvim으로 옮겼음
솔직히 vim 유지보수자들이 nvim과 somehow 병합할 방법을 찾았으면 함- 새로운 기능을 자주 추가하지 않고 안정성을 유지하는 것도 가치가 있다고 생각함
내 로컬, 라즈베리파이, Ubuntu 20.04 VM 어디서나 동일하게 동작함
Vim은 단순함과 일관성이 핵심이라, 더 많은 기능을 원하면 차라리 vscode에 vim 확장을 쓰는 게 낫다고 봄
예전에 nvim을 써봤지만 큰 장점은 못 느꼈고,:sh명령이 다르게 동작해서 포기했음 - 두 프로젝트는 이미 핵심 구조가 달라졌기 때문에 병합은 불가능하다고 봄
개인적으로 vim9의 방향이 마음에 듦 - 나도 nvim으로 옮겼지만, 매 릴리스마다 다시 돌아갈까 고민함
솔직히 Lua가 싫음. 인프라가 전부 Lua로 가는 게 피할 수 없게 됨
XDG 지원이 해결된 건 다행임 - 나는 vim과 nvim을 병행해서 씀.
init.nvim이~/.vimrc를 읽게 하면 문제없음 - 그런데 nvim은 이제 UI 표준이 정해진 건지 궁금함
- 새로운 기능을 자주 추가하지 않고 안정성을 유지하는 것도 가치가 있다고 생각함
-
“AI 기능은 어디 있나요?”라는 농담이 나올 정도로, 이번 릴리스는 AI 없는 대형 업데이트라 신선하게 느껴짐
- vim에 AI는 필요 없지만, 멀티 커서 기능은 정말 있었으면 함
예전에 Sublime Text로 옮긴 이유도 그거였고, 지금 쓰는 VSCode나 Zed에서도 필수 기능임
플러그인은 있지만, 기본 지원이 되면 훨씬 강력할 것 같음 - vim에는 이미 충분한 AI가 있음 — 바로 사용자의 손과 두뇌임
- 내 생각엔 vim이야말로 에이전틱 코딩에 가장 잘 맞는 도구임
- 나도 궁금함. 요즘 사람들은 vim에서 AI를 어떻게 쓰는지? ollama 스크립트는 봤는데, 일반적인 활용 사례가 궁금함
- 참고로 vim은 AI 플러그인과도 잘 호환됨
- vim에 AI는 필요 없지만, 멀티 커서 기능은 정말 있었으면 함
-
예전에 Bram Moolenaar가 Neovim이 나오기 전까지는 vim 업데이트를 거부했던 시절이 있었음
- 이제 그가 세상을 떠난 만큼, 그런 언급은 굳이 할 필요 없다고 생각함
-
GitHub 태그 목록에 v9.2 태그가 없어서 이상했음
- 이제는 v9.2.0과 v9.2.0000 태그가 추가되었음
- 관련 커밋은 이 링크임. 작성 시점에는 태그가 아직 안 달려 있었음
-
오랜 관심 끝에 드디어 제대로 vim을 배우기 시작했음
AI 덕분에 요청 사이에 시간이 생겨서 학습할 여유가 생겼고, IDE나 AI에게 단순한 수정 요청을 하는 게 오히려 느리게 느껴짐
에이전틱 워크플로우 덕분에 세밀한 수정과 반복 작업을 훨씬 빠르게 할 수 있게 됨- 하지만 나에겐 AI가 오히려 vim의 필요성을 없앴음
예전엔 vim 전도사였지만, 이제는 음성 명령과 AI 수정으로 대부분의 버그를 해결함
그래도 vim의 철학은 여전히 사랑함
- 하지만 나에겐 AI가 오히려 vim의 필요성을 없앴음
-
vim이 계속 발전하고 있다는 소식이 정말 반가움
-
Windows GUI가 이제 다크 모드와 개선된 전체화면, 고해상도 아이콘을 지원하게 됨
새 릴리스를 축하하며, 이 멋진 개선들을 적용해볼 날을 기대함- 특히 IT 부서가 Notepad++ 접근을 막은 사람들에게는 정말 완벽한 타이밍의 업데이트임