endaaman.com

2017-04-08

Tips

C/C++のプロジェクトで、ヘッダのパスをvim-syntascticに識別させる

function! LoadLocalVimConfig()
  let s:local_vim = getcwd() . '/.vim/init.vim'
  if filereadable(s:local_vim) && getcwd() != expand('~')
    execute 'source ' . s:local_vim
  endif
endfunction
autocmd VimEnter * :call LoadLocalVimConfig()

まずこういうのを vimrc に書いておいて、プロジェクトルートに .vim/init.vim を自動で読み込むようにしておいて、そこに

let g:syntastic_c_config_file = '.vim/.syntastic_include_files'

こんな感じ書いておいて、例えば gtk3 のプロジェクトなら cflags を、

$ pkg-config --cflags gtk+-3.0 | sed 's/ /\n/g' | tail -n +2 > .vim/.syntastic_include_files

-I/usr/include/gtk-3.0
-I/usr/include/at-spi2-atk/2.0

... 略 ...

-I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include

書いて置いておくといい感じに読み取ってくれる。


©2024 endaaman.com