vim: Updates
[shutils.git] / dotfiles / vim / .vimrc
index df65e4a1e854e135ceaf320bac618b1585aef3e8..7006e83799b08f28e43c06c9e9f2664f7e1af422 100644 (file)
@@ -54,6 +54,7 @@ if exists('g:loaded_plug')
         Plug 'vim-airline/vim-airline-themes'
         Plug 'chrisbra/csv.vim'
         Plug 'craigemery/vim-autotag'
+        Plug 'derekwyatt/vim-fswitch'
         Plug 'godlygeek/tabular'
         "Plug 'kien/ctrlp.vim'
         Plug 'junegunn/fzf'
@@ -66,6 +67,7 @@ if exists('g:loaded_plug')
         Plug 'sjl/splice.vim'
         Plug 'Shougo/deoplete.nvim'
         Plug 'suan/vim-instant-markdown'
+        Plug 'StanAngeloff/php.vim'
         Plug 't4ku/marktag'
         Plug 'thinca/vim-fontzoom'
         Plug 'tpope/vim-ragtag'
@@ -149,7 +151,6 @@ nmap <s-PageDown> :bn<CR>
 nmap <s-PageUp>   :bp<CR>
 
 map <a-c> <plug>NERDCommenterToggle
-nmap <F9> :NERDTreeToggle<CR>
 nmap <F10> :TagbarToggle<CR>
 
 "nmap <c-q> :q<CR>
@@ -158,6 +159,16 @@ nmap <F10> :TagbarToggle<CR>
 "imap <c-s> <c-o><c-s>
 
 
+
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+"  NERDTree
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+nmap <F9> :NERDTreeToggle<CR>
+let g:NERDTreeDirArrows = 1
+let g:NERDTreeDirArrowExpandable = '▸'
+let g:NERDTreeDirArrowCollapsible = '▾'
+
+
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  fortran
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -171,14 +182,32 @@ au Filetype fortran     set cindent cst csto=0
 "  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
@@ -435,7 +464,9 @@ end
 "  deoplete
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
-let g:deoplete#enable_at_startup = 1
+if has('nvim')
+    let g:deoplete#enable_at_startup = 1
+end
 
 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 "  youcompleteme