]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - vimrc
ftplugin/*/*.xpt.vim: Add p (print) and pe (print error) snippets.
[config/dotfiles.git] / vimrc
diff --git a/vimrc b/vimrc
index 4f61e5f7de19a05fe02e627aed78bd42390c0f08..825aa4e33faab82ce710552c3e5b48cb1384ec51 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
@@ -520,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
@@ -796,6 +823,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