vim 자동완성 플러그인 사용

2016-08-15 00:00:00
vim jedi

vim 에디터는 가볍고, 어디에나 설치되어 있지만 약간 이용하기에는 불편합니다.

하지만 확장성이 뛰어나 불편한 부분은 찾아서 원하는 플러그인을 설치하면 됩니다.

앞서 Pycharm을 이용한 원격 인터프리터 연결로 EC2내의 라이브러리를 이용하였습니다.

EC2 프리티어에서는 램 부족으로 Pycharm을 설치할 수 없지만

Vim 자동완성 플러그인을 설치하여 어디서나 원격접속만 된다면 그나마 에디터로서의 역할이 되게끔 해보았습니다.

Ubuntu 14.04 LTS(EC2 Free Tier) 환경에서 테스트하였고

다른환경이더라도 중간에 첨부한 링크로 다양한 방법으로 설치할 수 있으니 참고하시기 바랍니다.


Vundle

jedi 플러그인을 이용합니다.

저는 vim을 주로 이용하기 때문에 jedi-vim(Python), YouCompleteMe(Auto Completion) 두 플러그인을 Vundle을 이용하여 설치할 것입니다.

deoplete-jedi는 neovim 전용입니다.

먼저 자동완성 플러그인인 YouCompleteMe 설치 홈페이지에서 각 OS별 설치 방법이 나와있습니다.

먼저 Vundle을 설치하라고 합니다.

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

.vim/bundle 디렉터리 경로에 프로젝트를 다운로드 하게 됩니다.

홈 디렉터리에 .vimrc 파일을 만들고 Vundle을 참조한 다음 저장 후에 vim 에서 :PluginInstall 명령어로 플러그인을 설치합니다.

아래는 제가 필요한 플러그인을 나타낸 예시입니다.

set nocompatible
filetype off

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

"VundleVim/Vundle.vim
Plugin 'gmarik/Vundle.vim'
"After install YouCompleteMe
Plugin 'Valloric/YouCompleteMe'
"PreInstalled Markdown Plugin
Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'
"After install jedi-vim
Plugin 'davidhalter/jedi-vim'
"After install NERDTree plugin
Plugin 'scrooloose/nerdtree'
Plugin 'Xuyuanp/nerdtree-git-plugin'

call vundle#end()
filetype plugin indent on

syntax on
colo desert
set nu
set mouse=a
set tabstop=2

"au VimEnter * NERDTree
주석에도 나타냈지만 일부 플러그인은 clone project를 해야합니다.
set mouse=a 기능을 이용하면 putty를 사용할 경우 오른쪽 클릭으로 붙여넣기 하는 기능이
shift + 오른쪽 클릭으로 바뀝니다.
stackoverflow 참조

YouCompleteMe

YouCompleteMe는 자동완성을 위한 플러그인입니다.

이 플러그인을 설치하기 위해서는 다음과 같은 패키지가 필요합니다.

sudo apt-get install build-essential cmake
sudo apt-get install python-dev

.vim/bundle 경로에 프로젝트를 클론합니다.

git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe

그런 다음 install.py를 실행시키면 됩니다.

cd ~/.vim/bundle/YouCompleteMe
./install.py
git submodule을 이용하여 서드파티를 설치하라는 메시지가 나오면 그대로 입력하셔서 설치하면 됩니다.
YouCompleteMe에 커스터마이징을 위한 자세한 설치가 나와있습니다.

위에 반영한 .vimrc 파일처럼 YouCompleteMe 내용을 입력합니다.

vim을 실행하고 :PluginInstall로 플러그인을 설치합니다.

jedi-vim

jedi-vim은 vim을 위한 python 자동완성 플러그인입니다.

마찬가지로 프로젝트를 ~/.vim/bundle 경로에 클론한 뒤에 내용을 ~/.vimrc에 기록해서 :PluginInstall로 플러그인을 설치합니다.

NERDTree

이 플러그인은 디렉터리 구조를 계층적으로 보여주는 vim을 에디터스럽게 만들어주는 플러그인입니다.

마찬가지로 Vundle로 설치하시면 됩니다.

NERDTree Github