콘텐츠로 건너뛰기
Home » def

def

vim9 스크립트에서 달라진 점

요 며칠전 vim 9.0 정식 버전이 사전 예고도 없이 갑작스럽게 릴리즈되었습니다. 뭐 예전부터 따로 베타 릴리즈 같은 걸 했던 코드는 아니어서… 오랜만의 메이저 릴리즈라 그런지 여기 저기서 많은 소식이 들려오고 있습니다. 개인적으로는 vim 8.0에서 새로운 기능은 더 많이 도입됐던 것 같은데, 이번에는 vimscript의 개선이라는 정말 거창한 주제 하나로 메이저 업데이트를 시행해서인지 주변에 vim을 쓴다는 사람들은 다들 관심을 보이는 것 같습니다. 사실, vim 8.2를 유지하던 시점에서도 vim의 새로운 스크립트 처리 관련 패치는 꾸준하게 이뤄지고 있었습니다. 즉 소스를 계속 받아서 빌드해본 사람이라면 오히려 9.0 릴리즈가 그렇게 새로운 것인가… 하고 약간 어리둥절해지는 그런 기분이 듭니다.

vim 8.0 이전부터 vimscript의 성능 개선에 대한 요구는 굉장히 많았습니다. vim 8.0 에 대거 추가된 많은 기능들은 사실, 사용자들로부터 투표를 받아서 채택한 기능들입니다. 이 때에도 vim script의 성능 개선 요구는 굉장히 많았지만, 그러한 니즈가 Bram 자신에게도 있었고, 아마도 그는 단순한 성능 개선 이상의 무엇인가를 원했던 것 같습니다. 그래서 다른 스크립트 언어의 런타임을 내장하면서 기존 vim script를 다른 언어로 컴파일하는 Neovim 과 같은 전략을 채택하는 대신, vim9script 라는 새로운 문법의 스크립트를 도입하는 것을 선택했습니다.

더 보기 »vim9 스크립트에서 달라진 점