Mac을 위한 Vim, Vundle
Vim의 기본 설정부터 사용을 맥사용자를 중심으로 정리한 글입니다.
Vim?
Unix 계열의 유서 깊은 오픈소스 텍스트 에디터 vi의 improved 버젼.
우리가 사용하게 될 vim은 macvim으로 vim의 7.2버젼과 대응된다(2015.2.26)
Vim의 장점
- 네비게이션 키가(hjkl) 모두 키보드 가운데 몰려 있다.
- 자주 쓰는 명령어조차 키 조합을 추가로 조합해서 사용하는 경우가 잦은 Emacs 에 반해 vim 에서는 그냥 영문 단타로 끝나는 경우가 많아 금방 손에 익게 된다.
- 마우스를 사용하지 않게 된다. 이것이 왜 장점 인지는
http://www.moreagile.net/2014/12/HowtoBecomeAnExpertDeveloper.html 참고 - CLI 환경과의 궁합이 좋다.
- 수 많은 플러그인으로 기능상으로도 여타 최신 텍스트 에디터(ex sublime...)과 비교해 밀리지 않는다. 플러그인을 관리하는 플러그인도 있다. (조금 들어가기 시작하면 한 개발팀이 개발하는 텍스트 에디터로서는 신경쓰기 힘든 소소한 부분들까지 플러그인이 나와 있으며, 오히려 자신에게 맞는 환경(언어던 코딩스타일이던)을 구축 할 수 있어 생산성에서 압도적이다.
- 뭔가 멋지다.
Vim 설치
그런거 없다. mac에는 기본적으로 설치되어 있다.
window의 경우 http://vim.wikia.com/wiki/Where_to_download_Vim 참고
정신건강을 위해 gvim을 추천한다 vim이 unix계열을 위해 만들어 졌다 보니 windows 터미널과 궁합이 끔찍하다.
ubuntu의 경우
sudo apt-get install vim이였나? 로 다운로드 가능.
Vim 설정
모든 Vim관련 설정은 .vimrc 파일을 통해 미리 정의 해 놓을 수 있다. (windows는 _vimrc)
.vimrc 파일은 사용자 폴더(ex User/Seohamac)에서 찾을 수 있다. 내 사용자 폴더가 어딨는지 모르겠으면
cd ~을 통해 들어 갈 수 있다.( 애초에 터미널 키면 디폴트로 열리는 곳이 사용자 폴더이다.)
.vimrc 파일은 .로 시작하기 때문에 맨눈으론 보이지 않는다. ls -a 혹은 숨긴파일 보기를 통해 볼 수 있다. 보통 처음에는 아예 없을 수도 있다.
.vimrc 파일을 편집하기 전에 먼저 플러그인 관리를 위해 vundle을 설치하자 어렵지 않다.
터미널에 다음의 코드만 입력하면 된다.
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vimgit가 없다면 맥 콘솔 개발자 도구를 설치 할 것인지 묻는 창이 뜬다. 어차피 gcc, g++등 프로그래밍을 하려면 필요한 도구들이다. 설치하자.
설치가 끝나면
sudo vim .vimrc로 .vimrc 파일을 연다. 설정을 종료한 후 우리는 Vundle을 통해 플러그인을 설치 할 것이므로 sudo로 열어주는 것이 좋다.
다음의 코드를 복사한다.
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim' "required
Plugin 'tpope/vim-fugitive' "required
call vundle#end()
filetype plugin indent on " Put your non-Plugin stuff after this line
여기까지가 vundle을 쓰기 위한 기본적인 세팅이다. 여기까지 추가해준 다음에
:w
:source %
:PluginInstall
을 차례로 입력한다.
이 이후에 플러그인과 무관한 기본 설정들을 추가하면 된다.
syntax enable #syntax highlighting
set nu # add line numbers
set smartindent # make smart indent
set tabstop=4 # tab width as 4 (default 8)
set shiftwidth=4
set expandtabsensible이라는 훌륭한 플러그인으로 이런 세팅없이 기본적으로 필요한 세팅을 생략 할 수 있다. 본인 글에 의하면
Think of sensible.vim as one step above 'nocompatible'
mode: a universal set of defaults that (hopefully) everyone can agree on.
이라는데, 맞는 듯. 다만 오버라이딩이 힘드니 그 점은 참고. 오버라이딩 할 일이 없긴 하다.플러그인
플러그인을 추가하기 위해선 call vundle#begin() 과 call vundle#end() 사이에 코드를 추가한 후 위의 플러그인 설치 명령어를 다시 차례로 입력하면 된다.다음은 설치를 추천하는 플러그인이다. 모르겠으면 다 설치해도 무방하다.
Plugin 'tpope/vim-sensible'.vimrc의 셋팅을 표준? 세팅으로 바꿔주는 플러그인
Plugin 'scrooloose/nerdtree'이 플러그인을 다운받은후 :NERDTree를 입력하면 파일 네비게이션 바가 좌측에 생긴다. hjkl로 탐색 가능하며 o로 열 수 있다.
Plugin 'scrooloose/syntastic'
문법 highlighting을 위한 플러그인 기본적으로 내장돠어 있는 언어보다 더 다양한 언어들을 지원한다.
Plugin 'scrooloose/nerdcommenter'계속 같은 사람이 만든 플러그인... 코멘트를 쉽고 간편하게 만들어 준다. 재대로 된 활용을 위해서는 조금의 러닝커브가 필요하다.
Plugin 'mattn/emmet-vim'HTML을 편집하기 쉽게 만들어주는 플러그인 서브라임이나 브라켓의 emmet라이브러리와 동일하다.
Plugin 'Shougo/neocomplcache.vim'자동 완성 플러그인 단순히 기억 안 나는 함수를 호출 할 때 뿐만이 아니라 tab을 통해 완성하면 원천적으로 오타가 방지되기 때문에 자동완성 플러그인을 선호한다. 평을 보면 미묘하게 YouCompleteMe에 비해 박하나, YouComlepteMe는 macvim의 버젼인 7.2와 호환이 안된다.
Plugin 'nathanaelkane/vim-indent-guides'sublime이나 xcode처럼 indent의 깊이를 선으로 표현해준다. 파이썬처럼 인덴팅이 문법인 언어에서는 필수.
http://vimawesome.com/ 에서 플러그인들을 잘 정리 해 놓았으니 참고
vim 사용법은 다음 글에서...
http://ww.googolhkl.com/ 제 블로그로 퍼갈께요!!
답글삭제http://ww.googolhkl.com/ 제 블로그로 퍼갈께요!!
답글삭제Plugin을 적용했을때 mvim창에서는 각 플러그인이 제대로 동작하는데, 터미널에서 mvim이 아닌 vim을 이용해 파일을 열면 Plugin이 적용이 안됩니다.
답글삭제터미널에서 vim을 이용하는경우에도 plugin들이 잘 동작하게 할수 없을까요?
mvim은 gui로 따로 동작해서 사용하기가 불편할때가 많네요.
감사합니다. 퍼갈게요!
답글삭제