Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

clang_complete in Vim

So after playing around with omnicpp, gccsense and clang_complete I couldn't get any of them to work. So I apt-get purge vim-* and tried again to install clang_complete, but without success.

Here's what I do:

  1. Download clang_complete.vmb, move it to my fresh, clean .vim dir and execute vim clang_complete.vmb -c 'so %' -c 'q'.

  2. Paste this into my .vimrc:

    syntax on
    set number
    filetype plugin on
    let g:clang_user_options='|| exit 0'
    let g:clang_complete_auto = 1
    let g:clang_complete_copen = 1
    
  3. Create a typical example

    #include <iostream>
    #include <string>
    
    int main() { std:: (I get: User defined pattern not found) }
    

Is there anything else I need to do/install to get it working? And silly question I've heard about Clang, do I need to apt-get install it?

like image 816
mishe Avatar asked Apr 21 '12 13:04

mishe


2 Answers

clang_complete can be configured to use the clang executable or the clang library

clang_complete uses the clang executable by default but the clang library will execute lot faster

clang_complete plugin (using the clang executable) needs:

  1. clang must be installed in your system and be in the PATH
  2. do not set (let) g:clang_library_path to a path containing the libclang.so library

clang_complete plugin (using the clang library) needs:

  1. python installed in your system
  2. vim must be built with python support (do :version and look for a +python/dyn or +python3/dyn entry)
  3. set (let) g:clang_library_path to the directory path where libclang.so is contained
like image 93
franckspike Avatar answered Nov 20 '22 02:11

franckspike


let g:clang_library_path='/usr/lib/llvm3.5/lib/libclang.so.1' in my .vimrc and it works fine.

like image 4
PoChien Wang Avatar answered Nov 20 '22 02:11

PoChien Wang