]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - vimrc
after/ftplugin/php.vim: Move syntax settings to vimrc.
[config/dotfiles.git] / vimrc
diff --git a/vimrc b/vimrc
index b537d1723e0d9b949333bfa4f69ce6c7ac9c279c..42479fa64c76bc70bac6e0bbd053439f71181410 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -373,6 +373,16 @@ if has('statusline')
         endif
     endfunction
 
+    " Return current syntax group in brackets or nothing if there's none.
+    function! StatuslineSyntaxGroup()
+        let l:group = synIDattr(synID(line('.'), col('.'), 1), 'name')
+        if l:group != ''
+            return '[' . l:group . '] '
+        else
+            return ''
+        endif
+    endfunction
+
     set statusline=
     " on the left
     set statusline+=%02n  " buffer number
@@ -532,6 +542,11 @@ if exists('+spell')
     nnoremap <silent> <Leader>sn :set nospell<CR>
     nnoremap <silent> <Leader>se :set spell spelllang=en_us<CR>
     nnoremap <silent> <Leader>sd :set spell spelllang=de_de<CR>
+" If no spell support is available, these mappings do nothing.
+else
+    nmap <Leader>sn <Nop>
+    nmap <Leader>se <Nop>
+    nmap <Leader>sd <Nop>
 endif
 
 " Add semicolon to the end of the line. Thanks to
@@ -747,11 +762,17 @@ if has('syntax')
     let g:hs_highlight_boolean = 1
     let g:hs_highlight_types = 1
     let g:hs_highlight_more_types = 1
+    " Java.
+    let g:java_highlight_java_lang_ids = 1 " color java.lang.* identifiers
     " Perl.
     let g:perl_fold = 1
     let g:perl_fold_blocks = 1
     let g:perl_nofold_packages = 1
     let g:perl_include_pod = 1 " syntax coloring for PODs
+    " PHP.
+    let g:php_folding = 3    " fold functions
+    let g:php_short_tags = 0 " no short tags (<? .. ?>), not always usable
+    let g:php_sql_query = 1  " highlight SQL queries in strings
     " Python.
     let g:python_highlight_all = 1
     " Shell.
@@ -808,6 +829,18 @@ if has('eval')
     let g:ctrlp_cache_dir = $HOME . '/.vim/cache/ctrlp'
     " Permanent cache, cleared by a crontab entry.
     let g:ctrlp_clear_cache_on_exit = 0
+
+" FSWitch settings.
+    " Default don't work well for my projects.
+    augroup vimrc
+        autocmd BufEnter *.cc let b:fswitchdst  = 'h'
+                          \ | let b:fswitchlocs = './'
+        autocmd BufEnter *.h  let b:fswitchdst  = 'cc,c'
+                          \ | let b:fswitchlocs = './'
+    augroup END
+
+    " Switch to corresponding header/source file.
+    nnoremap <silent> <Leader>h :FSHere<CR>
 endif