Plug 'vim-airline/vim-airline-themes'
Plug 'chrisbra/csv.vim'
Plug 'craigemery/vim-autotag'
+ Plut 'derekwyatt/vim-fswitch'
Plug 'godlygeek/tabular'
"Plug 'kien/ctrlp.vim'
Plug 'junegunn/fzf'
" C, C++, C#, objc, java
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-au Filetype c,cpp,cs,objc,java map <buffer> <F4> :cnext <CR>
-au Filetype c,cpp,cs,objc,java map <buffer> <S-F4> :cprevious <CR>
-au Filetype c,cpp,cs,objc,java map <buffer> <F11> :AS <CR>
-au Filetype c,cpp,cs,objc,java map <buffer> <S-F11> :A <CR>
au Filetype c,cpp,cs,objc,java set cindent cst csto=0
-au Filetype c,cpp,cs,objc map <buffer> <F7> :make <CR>
-au Filetype java map <buffer> <F7> :!ant -f ../build.xml <CR>
+
+au Filetype c,cpp,cs,objc,java map <buffer> <F4> :cnext<CR>
+au Filetype c,cpp,cs,objc,java map <buffer> <S-F4> :cprevious<CR>
+
au Filetype c,cpp,cs,objc set makeprg=make
+au Filetype c,cpp,cs,objc map <buffer> <F7> :make<CR>
+au Filetype java map <buffer> <F7> :!ant -f ../build.xml<CR>
+
+" If FSwitch exists
+runtime! plugin/fswitch.vim
+if exists(":FSHere")
+ au Filetype c,cpp,objc map <buffer> <F11> :vsplit<CR>:FSRight<CR>
+ au Filetype c,cpp,objc map <buffer> <S-F11> :FSHere<CR>
+
+ " Substitute lib <-> include, otherwise take the same directory
+ au BufEnter *.c* let b:fswitchlocs='reg:/lib/include/,rel:.'
+ au BufEnter *.h* let b:fswitchlocs='reg:/include/lib/,rel:.'
+ "au BufEnter *.c* let b:fswitchlocs='rel:.,rel:../inc*/**,rel:../../inc*/**'
+
+ au BufEnter *.cpp,*.cc,*.cxx let b:fswitchdst='h,hxx,hpp,hh'
+ au BufEnter *.h,*.hh,*.hxx let b:fswitchdst='cc,c,cxx,cpp'
+else
+ au Filetype c,cpp,cs,objc,java map <buffer> <F11> :AS<CR>
+ au Filetype c,cpp,cs,objc,java map <buffer> <S-F11> :A<CR>
+endif
"Prepend the namespace to an identifier, e.g. 'std::' before 'map' excluding