Skip to content

Instantly share code, notes, and snippets.

@lopesivan
Last active August 29, 2015 14:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lopesivan/5766621b4cfc2be39b44 to your computer and use it in GitHub Desktop.
Save lopesivan/5766621b4cfc2be39b44 to your computer and use it in GitHub Desktop.
Instalando YouCompleteMe do oblitum

Fork de YouCompleteMe

YouCompleteMe by oblitum é um fork da versão original com aprimoramentos para programadores C++ e C no Vim.

Sobre Youcompleteme

YouCompleteMe é uma engine para auxiliar o programador a digitar o código no Vim.

Essa versão oficial do plugin YouCompleteMe

Plataforma testada

Linux ubuntu 14.04

Se você não possui o Vim instalado

removendo versão previa do vim

sudo apt-get remove vim vim-runtime vim-tiny vim-common

Instalando dependências

sudo apt-get install libncurses5-dev python-dev libperl-dev ruby-dev liblua5.2-dev

Corrigindo lua paths

# Fix liblua paths
sudo ln -s /usr/include/lua5.2 /usr/include/lua
sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.2.so /usr/local/lib/liblua.so

Download e instalação do VIM

mkdir -p  ~/Dropbox/vim-manager
cd ~/Dropbox/vim-manager
hg clone https://vim.googlecode.com/hg/ vim
cd vim/src

./configure                                                             \
--enable-gui=gtk2                                                       \
--disable-acl                                                           \
--disable-darwin                                                        \
--disable-largefile                                                     \
--disable-nls                                                           \
--disable-sysmouse                                                      \
--enable-cscope                                                         \
--enable-fontset                                                        \
--enable-gnome-check                                                    \
--enable-gpm                                                            \
--enable-multibyte                                                      \
--enable-luainterp                                                      \
--enable-perlinterp                                                     \
--enable-pythoninterp                                                   \
--enable-rubyinterp                                                     \
--with-python-config-dir=$(pyenv prefix)/lib/python2.7/config           \
--with-compiledby="Meu Nome Completo<meu-email@provedor-de-email>"      \
--with-features=huge                                                    \
--with-vim-name=vim --disable-netbeans

make VIMRUNTIMEDIR=${HOME}/Dropbox/vim-manager/src/vim/runtime -j8 && sudo make install

Agora basta configurar os links ao seu gosto ...

sudo update-alternatives --install /usr/local/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/local/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim
sudo update-alternatives --install /usr/local/bin/v v /usr/local/bin/vim 1
sudo update-alternatives --set v /usr/local/bin/vim
sudo update-alternatives --install /usr/local/bin/e e /usr/local/bin/gvim 1
sudo update-alternatives --set e /usr/local/bin/gvim

Se você não possui clang instalado

No meu arquivo /etc/apt/sources.list eu adiciono as linhas abaixo

deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty main
deb-src http://llvm.org/apt/trusty/ llvm-toolchain-trusty main

Atualizando e instalando

wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt-key update
sudo apt-get install clang-3.7 clang-3.7-doc libclang-common-3.7-dev libclang-3.7-dev libclang1-3.7 libclang1-3.7-dbg libllvm-3.7-ocaml-dev libllvm3.7 libllvm3.7-dbg lldb-3.7 llvm-3.7 llvm-3.7-dev llvm-3.7-doc llvm-3.7-examples llvm-3.7-runtime clang-modernize-3.7 clang-format-3.7 python-clang-3.7 lldb-3.7-dev

Configurando o VIM e instalando o plugin

Na pasta bundle baixe o plugin e instale

cd ~/.vim/bundle
git clone https://github.com/oblitum/YouCompleteMe
cd YouCompleteMe
git submodule update --init --recursive
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm
CC=`which clang-3.7` CXX=`which clang++-3.7`  CPATH=/usr/lib/llvm-3.7/lib/clang/3.7.0/include cmake -DUSE_CLANG_COMPLETER=ON -DPATH_TO_LLVM_ROOT=/usr/lib/llvm-3.7 ${HOME}/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp
make 

Nota

  • Em caso de dúvida sobre o uso do plugin NeoBundle gere um vimrc utilizando vim-bootstrap
  • No seu .vimrc use a seguinte configuração
NeoBundleLazy 'oblitum/YouCompleteMe',  {'autoload': {'filetypes':['c', 'cpp', 'python']}, 'disabled': (!has('python'))}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment