최근 수정 시각 : 2019-08-18 21:06:55

vim

vi improved
개발자 Bram Moolenaar
최초 릴리즈 1991년
개발 언어 C
운영 체제 멀티 플랫폼[1]
언어 다국어 지원 ( 영어 기본)
라이선스 채리티웨어
GPL
웹 사이트 http://www.vim.org/

파일:tui_example_vim.png
TUI 환경의 vim.

파일:attachment/vi/vim.jpg
스크린샷은 vim의 그래픽 버전인 GVim이다. 원래 vi나 vim은 TUI이다. 하지만 CUI와 자주 혼동된다. CUI는 의미를 가지는 문자열의 나열로 이루어지는 사용자 인터페이스이고, TUI는 표현에 단순히 문자 또는 텍스트를 사용한 사용자 인터페이스, 즉 텍스트 GUI이다.

1. 개요2. 역사와 현황
2.1. 참고

1. 개요

vim은 Bram Moolenaar가 1991년에 만든 vi와 호환되는 텍스트 에디터이다. 요즘 대부분의 유닉스 리눅스 배포판에서 터미널에 vi를 치면 vim이 뜨도록 하여[2] 요즘에 리눅스 유닉스를 배운 사람들은 vim이 vi인 줄 아는 경우도 있다. 그래서 vi와는 완전히 다른 물건이지만, 잘 구별하지 못 하는 사람이 많다.

파일:editors.png
Emacs와는 아주 심한 라이벌 관계다. 영어판 위키백과에는 편집기 전쟁이라는 항목으로 등록되어 있을 정도.

2. 역사와 현황

많은 수의 리눅스 유닉스에서는 vim을 vi로 alias(바로가기, 링크, 연결)시켜 놓았기 때문에 vi를 쳐도 vim으로 연결된다. 단, minimal 버전이다. 따라서 요즘 말하는 vi는 대부분 변종판인 vim(vi improved)을 지칭하며, nVi(Not Vi), elVis 등의 다른 변종도 존재한다. 특히 vim은 모든 리눅스 배포판과 OS X에 기본으로 탑재되면서 거의 대부분의 vi 이용자가 이 버전으로 입문해서 이 버전을 사용하고 있을 정도. 게다가 vim을 GUI 환경에서 쓸 수 있게 GVim으로도 변종되었다. 당장 이 문서 상단 스크린샷도 GVim의 스크린샷이다.

단, 유닉스에 따라선 vim이 아닌 진짜 vi 혹은 그것의 클론이 기본인 경우가 적지 않고, 이런 물건은 심지어 버그까지도 과거 BSD의 vi 것을 그대로 가진 경우가 있어서, vim 사용자가 모르는 해괴한 버그가 있다거나 vim에선 자주쓰는 핵심기능이 없는 등 vim과 다를 수 있다. 너비를 80문자 이상 지원하질 않아 깨진다거나, 비주얼 모드가 없다거나 등등...

역사와 전통과 함께 소스코드가 매우 복잡해져, NeoVim이라는 코드를 다시 짜는 프로젝트가 진행중이다. https://neovim.io/

진입장벽이 있어서인지 VimAdventure라는 학습용 게임도 있으니 배우고 싶은 사람은 참고하자. https://vim-adventures.com/
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 vi 문서의 r159 판에서 가져왔습니다. 이전 역사 보러 가기



리눅스에서 기본적으로 터미널창에 vimtutor라고 치면 기본서가 뜬다. vim에 익숙하고 싶은 유저는 참고하도록 하자.

2.1. 참고

Unix system의 텍스트에디터 3대장
[1] 심지어 iOS 앱스토어에도 올라와 있다. 그것도 지금보다 더욱 엄격했던 잡스 생전부터 있었다!! 링크 vim 유저면서 아이폰을 쓰고 있다면 한번 설치해보자. [2] vi와 vim이 다르게 작동되는 리눅스 배포판도 존재한다. 이런 배포판에서 이 둘의 가장 눈에 띄는 차이점은 통짜 흰색으로만 나타나냐(vi), 문법 하이라이팅을 하느냐(vim)이다.