Search
Duplicate

ed에서 vi/vim을 거쳐 neovim까지

간단소개
간단히 vi와 vim과 nvim을 알아본다.
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
Vim
Scrap
태그
9 more properties

chapter 1. 고대 유물 편집기 - ed

유닉스용 라인 에디터인 ed라는 문서 편집기가 있었는데, 실질적으로 모든 유닉스 시스템이 가능하고 명령모드, 텍스트모드, 뷰잉모드등 여러 기능이 있는 편집기이다. 이때 당시만 해도 문서를 편집하는 것은 여러 단계를 거쳐야 했다.
ed의 문서 편집 순서
1. 뷰잉모드로 문서를 본다.
2.
편집할 라인을 찾는다.
3.
해당 라인을 선택한다.
4.
수정을 한다.
5.
뷰잉모드로 문서를 확인한다.
보다시피 문서를 수정하기가 굉장히 귀찮다. 프로그래머란 집단은 귀찮은 일이 있으면 바꾸는 집단이 아닌가. 그래서 vi가 생겨났다.

chapter 2. 전설의 등장 - vi

썬 마이크로시스템즈를 공동 창업한 William Nelson Joy는 ed보다 좋은 편집기를 고민하다가 vi를 설계한다. vi는 visual editor에서 유래했는데 뷰잉모드를 따로 만든 것이 아니라 한 화면을 편집하는 편집기였기 때문에 해당 이름을 붙였다고 한다.
vi는 각 모드와 hjkl로 이동하는 특이한 구조를 가지고 있다. 이는 모드를 나누는 것은 시대에 흔한 일이었고, IBM 키보드에서 esc키는 오늘날의 tab키 자리에 있었기 때문에 취소버튼을 만드는 데 굉장히 유용했다. 또한 방향키가 없었던 BMI특성상 hjkl로 이동은 아주 유용한 키였다.

chapter 3. 복제템인 줄 알았던 편집기가 알고보니 강화된 편집기인 건에 대해 - vim

좋은 도구가 있으면 더 좋게 만들어야 하는 법, Vi Imitation에서 약자를 따서 vim이라는 도구가 만들어지게 되는데, 기존의 vi가 가지고 있었던 편의성 + 구문강조, 마우스 지원, 그래픽버전, 문법검사, 다중 되돌리기 기능 등등을 추가하여 나타나게 되었다.
이 vim은 vi를 사용할 수 없는 플랫폼으로 이식하려는 시도로 만들어진 것인다. Bram Moolenaar라는 사람이 Amiga 2000에서 사용할 용도로 만들었다. 이는 오픈소스로써 계속 개발되어져 왔는데 이런 유저들의 사랑에 힘 입어 vim 2.0에는 vi improved라는 줄임말로 이라는 이야기가 공식화되었고, 현재 9.0 버전으로 아직도 많은 사람들에게 사랑받는 편집기로 알려져 있다.

chapter 4. 편집기를 빠르고 쉽게 다시 만들어보자 - neovim

편집기의 릴리즈 버전이 올라감에 따라 vim의 내부가 굉장히 복잡해졌다. 그래서 일부 사람들이 가볍고 보기 쉬운 lua라는 언어를 사용하여 기존의 vim의 기능을 흡수 확장한 편집기가 neovim이다.
현재는 neovim에서는 vim9.0을 지원하지 않기로 하면서 앞으로는 또다른 생태계를 구축할 것으로 예상이된다.

참고