#20150119-02 :: go :: vim에서 go language 사용하기




pathogen 설치한다. 이 때, curl이 필요하여 설치하여 주었다.


$ cd ~/.vim

$ mkdir -p autoload bundle

$ sudo apt-get install curl

$ cd autoload

$ curl -LSso pathogen.vim https://tpo.pe/pathogen.vim


.vimrc 파일을 만든다.


$ cd ~/

$ vi .vimrc

execute pathogen#infect()
syntax on
filetype plugin indent on


vim-go를 설치한다.


$ cd /work/apps/golang

$ git clone https://github.com/fatih/vim-go.git

$ cd ~/.vim/bundle

$ ln -s /work/apps/golang/vim-go vim-go


mercurial을 설치한다.


$ sudo apt-get install mercurial


vim을 실행한 후 GoInstallBinaries를 실행한다.


$ vi

: GoInstallBinaries


자동 완성을 위해 YCM을 설치한다. YCM을 위해서는 python-dev와 cmake가 필요하다.


$ sudo apt-get install python-dev cmake

$ cd /work/apps/vim

$ git clone https://github.com/Valloric/YouCompleteMe.git

$ cd ~/.vim/bundle

$ ln -s /work/apps/vim/YouCompleteMe YouCompleteMe

$ cd YouCompleteMe

$ git submodule update --init --recursive

$ sudo apt-get install build-essential

$ pushd /work/apps/vim/YouCompleteMe YouCompleteMe

$ ./install.sh

$ popd


Tagbar를 설치한다. ctag가 필요하다. 설치 후 단축키 F8에 매핑한다.


$ sudo apt-get install ctags

$ cd /work/apps/vim

$ git clone https://github.com/majutsushi/tagbar.git

$ cd ~/.vim/bundle

$ ln -s /work/apps/vim/tagbar tagbar

$ vi ~/.vimrc

nmap <F8> :TagbarToggle<CR>


파일 브라우저 nerdtree를 설치한다.


$ cd /work/apps/vim

$ git clone https://github.com/scrooloose/nerdtree.git

$ cd ~/.vim/bundle

$ ln -s /work/apps/vim/nerdtree nerdtree

$ vi ~/.vimrc

nmap <C-n> :NERDTreeToggle<CR>


모두 설치하고 vi를 실행시키면 아래와 같은 에러가 발생한다.

YouCompleteMe unavailable: requires Vim 7.3.584+

vi는 정상 동작을 하지만, YCM은 사용할 수 없다.

그래서 vim을 강제로 판올림 해줘야 한다.


$ sudo add-apt-repository ppa:nmi/vim-snapshots

$ sudo apt-get update; sudo apt-get install vim


vi를 원래 버전으로 되돌리려면 아래와 같은 명령을 사용한다.


$ sudo apt-get install ppa-purge; sudo ppa-purge ppa:nmi/vim-snapshots