개발도구 뉴스
NeoVim의 변경으로 영구 실행 취소 기능이 깨지다
Neovim changed the format of the undo files, breaking persistent undo
Hacker News수년간 신뢰받아온 Vim의 핵심 기능인 '영구 실행 취소(persistent undo)'가 NeoVim에서 작동하지 않는 심각한 문제가 제기되었습니다.
세 줄 요약
- NeoVim이 기존 undo 파일 형식을 변경하고 이를 삭제한 후, Vim이 읽을 수 없는 새로운 형식으로 대체하면서 사용자의 작업 데이터 손실이 발생했습니다.
- 이는 단순한 기능 오류를 넘어, 소프트웨어 개발사가 사용자 데이터를 보호해야 할 '주의 의무(Duty of Care)'에 대한 근본적인 질문을 던집니다.
- 개발사 측은 해당 기능 자체가 불안정하며 데이터 보존을 전적으로 기대해서는 안 된다고 밝혀, 기술 신뢰성 문제로 논란이 커지고 있습니다.
글쓴이는 2000년경부터 Vim을 사용해 왔으며, 그 과정에서 '영구 실행 취소(persistent undo)' 기능을 매우 중요하게 여긴다고 설명합니다. 이 기능은 파일이 크래시되거나 오랜 시간이 지난 후 다시 열었을 때도 이전의 작업 기록을 유지할 수 있게 해주어, 약 20년간 주요 버전 업그레이드를 거치며 신뢰를 받아왔습니다.
NeoVim 사용 중에는 실행 취소 기능 자체가 작동하지 않는 문제가 발생했습니다. 원인 파악 결과, Neovim이 기존 Vim의 undo 파일 형식을 변경했기 때문입니다. 이 과정에서 NeoVim은 기존 파일을 업그레이드하거나 이름을 바꾸지 않고, 단순히 존재하는 Vim undo 파일을 삭제(데이터 손실)한 후, Vim이 읽을 수 없는 새로운 형식으로 대체했습니다.
이에 대해 개발자 측에서는 영구 실행 취소 형식이 불안정하며 사용자가 이 기능에 데이터 보존을 전적으로 의존해서는 안 된다고 안내했습니다. 글쓴이는 이러한 대응을 통해, 프로그램이 사용자에게 데이터를 보호해야 할 '주의 의무(duty of care)'를 갖추지 못했다고 판단하며 NeoVim 사용 경험을 중단하게 되었다고 밝혔습니다.