vim
(♥ 0)
러시아의 항공사에 대한 내용은 VIM 항공 문서 참고하십시오.
1. 개요[편집]
vim은 vi와 호환되는 문서 편집기로 1991년 네덜란드의 브람 몰레나르(Bram Moolenaar, 1961–2023)가 만들었다.
2. 상세[편집]
요즘 대부분의 유닉스와 리눅스 배포판에서 터미널에 vi를 치면 vim이 뜨도록 하기 때문에[2] 최근에 리눅스나 유닉스를 배운 사람들은 vim이 vi인 줄 아는 경우도 있다. 그래서 vi와는 완전히 다른 물건이지만, 잘 구별하지 못하는 사람이 많다.
종료하는 방법은 ESC키를 누른 후
:q
를 순서대로 입력하고 엔터키를 누르면 된다. 다만 이렇게 종료를 하면 저장이 되지 않으므로 저장을 하고 종료를 하려면 :wq
를 입력하여야 한다.[3]3. 역사와 현황[편집]
많은 수의 리눅스나 유닉스에서는 vim을 vi로 alias(바로가기, 링크, 연결)시켜 놓았기 때문에 vi를 쳐도 vim으로 연결된다. 단, minimal 버전이다. 따라서 요즘 말하는 vi는 대부분 변종판인 vim(vi improved)을 지칭하며, nVi(Not Vi), elVis 등의 다른 변종도 존재한다. 특히 vim은 모든 리눅스 배포판과 OS X에 기본으로 탑재되면서 거의 대부분의 vi 이용자가 vim으로 입문했을 정도. 게다가 vim을 GUI 환경에서 쓸 수 있게 변종시킨 GVim이라는 물건도 있다. 당장 이 문서 상단 스크린샷도 GVim의 스크린샷이다.
단, 유닉스에 따라선 vim이 아닌 진짜 vi나 그것의 클론이 기본인 경우가 적지 않고, 심지어 버그까지도 과거 BSD vi의 것을 그대로 가진 경우가 있어서, vim 사용자가 모르는 해괴한 버그가 있다거나 vim에선 자주 쓰는 핵심기능이 없는 등 vim과 다를 수 있다. 너비를 80문자 이상 지원하질 않아 깨진다거나, 비주얼 모드가 없다거나 하는 문제 등등...
역사와 전통과 함께 소스코드가 매우 복잡해져, 코드를 다시 짜는 Neovim이라는 프로젝트가 진행중이다. #
2019년, vim과 neovim에서 심각한 셸 실행 취약점이 발견되었다. # 해당 취약점은 CVE-2019-12735 이며 Modelines 기능에서 발생한 취약점으로 파일을 여는 것만으로도 그대로 감염된다. 영향 받는 버전은 vim는 8.1.1365, neovim는 0.3.6이며 이후 버전에서 패치되었다.
몇몇 리눅스에서 터미널창에 vimtutor라고 치면[4] 기본서가 뜬다. vim에 익숙하고 싶은 유저는 참고하도록 하자. VimAdventure라는 학습용 게임도 있다. #
이 문서는 상당히 짧은데, vim이 vi와 상당 부분 세부 내용을 공유하고 있기 때문이다. vim이 절대적으로 많이 사용되고 있긴 하지만 결국 모체는 vi이고 핵심 기능인 특유의 키맵은 거의 대부분 vi로부터 왔기 때문에 vi 문서의 내용만 봐도 사실상 vim의 대부분 특성을 파악할 수 있다. 요즘엔 vi와 vim을 잘 구분 못하는 것도 있고.
3.1. 관련 문서[편집]
[1] 심지어 iOS 앱스토어에도 올라와 있다. 그것도 지금보다 더욱 엄격했던 잡스 생전부터 있었다! 링크 vim 유저면서 아이폰을 쓰고 있다면 한번 설치해보자.[2] vi와 vim이 다르게 작동되는 리눅스 배포판도 존재한다. 이런 배포판에서 이 둘의 가장 눈에 띄는 차이점은 통짜 흰색으로만 나타나냐(vi), 문법 하이라이팅을 하느냐(vim)이다.[3] vim에 익숙한 유저들은 저장 후 종료로 ZZ를, 저장 없이 종료로 ZQ를 선호하기도 한다.[4] 있는 경우도 있고 없는 경우도 있다. Ubuntu 미니멀이나 Arch Linux 등 가벼움을 중요시하는 경우 없을 수 있다. 하지만 기본설치가 되어 있지 않더라도 다운받으면 된다.
이 문서의 내용 중 전체 또는 일부는 2024-09-20 13:00:07에 나무위키 vim 문서에서 가져왔습니다.