모든 맥 버전에 vi가 아니 정확히는 Vim이 기본으로 설치되어있다. 왕초보일 때 터미널 vi 명령으로 실행시키고 나서 나가질 못해서 터미널을 꺼버린 참극을 빚었던 텍스트 에디터이다.

스택오버플로우 개발자 설문에서 텍스트 에디터 부문에서 2015년 3위, 2016년엔 4위를 기록한 인기 있는 에디터이다.

그런데 며칠 전 10년 만에 버전 8이 출시되었다. channels, JSON, Jobs, Timers, Partials, Lambdas, Closures, Packages 기능이 새로 추가되고 많은 버그가 수정되었다고 한다. 자세한 내용은 여기에서 볼 수 있다. 그래도 맥이라 MacVim을 설치했더니 터미널 버전은 버전 7.3이 설치된다. 버전 8은 별도로 설치해야 했다. 그 과정을 간단히 적었다.

Homebrew

MacVim을 Homebrew로 설치하면 터미널 버전도 같이 설치할 수 있다고 한다.

brew install macvim --override-system-vim
brew linkapps

이제 버전을 확인해보면:

mvim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 14 2016 09:39:40)
MacOS X (unix) version
Included patches: 1-3
Compiled by Homebrew
...

으로 잘 나오지만,

vi --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 14 2016 16:06:49)
Compiled by [email protected]
Normal version without GUI.

터미널 버전은 아직 7.3이다.

Vim도 Homebrew로 설치하는 방법이 있었다.

brew install mercurial
brew install vim
vi --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 14 2016 16:06:49)

mercurial을 먼저 설치하지 않으면 Vim 패키지를 찾지도 못한다. 그러나, 이 방법으로 설치해도 버전 8이 설치되지 않았다.

Vim 8 업그레이드

brew로 설치된 버전이 /usr/local/bin/에 설치되고, 내 시스템 경로에 7.3버전이 있는 /usr/bin/ 보다 뒤에 있어 /usr/bin/vim을 불러오는 것이 이유였다.

sudo mv /usr/bin/vim /usr/bin/vim73
mv: rename /usr/bin/vim to /usr/bin/vim73: Operation not permitted

위와 같이 기본 Vim을 이름을 변경하려 하였으나 에러. 이유는 OS X 10.11 엘 캐피탄에 도입된 새로운 보안체계 루트리스(Rootless)가 원인이다. 루트 권한으로도 /usr/bin을 건드리지 못한다. 복구모드로 부팅하여 모든 권한을 가지는 방법이 있지만 번거롭다고 생각하여 /usr/bin/local의 관련 파일 이름을 변경하였다.

mv /usr/local/bin/vim /usr/local/bin/vim8
mv /usr/local/bin/vimdiff /usr/local/bin/vimdiff8
mv /usr/local/bin/vimtutor /usr/local/bin/vimtutor8
ln -s /usr/local/bin/vim8 /usr/local/bin/vi8

이제 vi8, vim8, vimdiff8, vimtutor8로 버전 8을 실행할 수 있다. 복구 모드로 들어가는 방법과 이 방법 중 어느 것이 좋을지는 아직 모르겠다. 짧게나마 정리하는 목적이기도 하다. 🙂

참고링크