]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - vimrc
vimrc: Add StatuslineSyntaxGroup().
[config/dotfiles.git] / vimrc
diff --git a/vimrc b/vimrc
index cddb965d78d03c1f5e2a067265edd788f2869e60..3f94aefb7f20fe2677880a59f7b2eeb17540567b 100644 (file)
--- a/vimrc
+++ b/vimrc
@@ -70,6 +70,18 @@ if exists('+wildignorecase')
     set wildignorecase
 endif
 
+" Ignore files with the following extensions because I almost never want to
+" edit them in Vim (specifying them manually still works of course).
+set wildignore=
+" C
+set wildignore+=*.o,*.d,*.so
+" Java
+set wildignore+=*.class
+" LaTeX
+set wildignore+=*.aux,*.log,*.out,*.toc,*.pdf
+" Python
+set wildignore+=*.pyc
+
 " Show completion menu even if only one entry matches.
 if exists('+completeopt')
     set completeopt+=menuone
@@ -361,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
@@ -786,7 +808,6 @@ if has('eval')
     let g:xptemplate_brace_complete = 0
     " Only highlight the current placeholder.
     let g:xptemplate_highlight = 'current'
-endif
 
 " CtrlP settings.
     " Don't manage the working directory (the default setting is too slow for
@@ -798,6 +819,19 @@ endif
     " 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
+
 
 " AUTO COMMANDS