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
endif
set foldlevel=99 " no closed folds at default, 'foldenable' would disable
" folding which is not what I want
+ " Don't open folds for block movements like '(', '{', '[[', '[{', etc.
+ set foldopen-=block
endif
" Only check case if the searched word contains a capital character.
let g:xptemplate_brace_complete = 0
" Only highlight the current placeholder.
let g:xptemplate_highlight = 'current'
+
+" CtrlP settings.
+ " Don't manage the working directory (the default setting is too slow for
+ " me).
+ let g:ctrlp_working_path_mode = 0
+ " Path to cache directory. I prefer to keep generated files as local as
+ " possible.
+ let g:ctrlp_cache_dir = $HOME . '/.vim/cache/ctrlp'
+ " Permanent cache, cleared by a crontab entry.
+ let g:ctrlp_clear_cache_on_exit = 0
endif
autocmd InsertLeave * set ignorecase
endif
+" Display a warning when editing a file which contains "do not edit" (ignoring
+" the case, \c), for example template files which were preprocessed or
+" auto-generated files. Especially useful when the header is not displayed on
+" the first screen, e.g. when the old position is restored. Not for vimrc
+" though.
+ function! s:SearchForDoNotEditHeader()
+ if search('\cdo not edit', 'n') == 0
+ \ || expand('<afile>:t') =~# '^.\?vimrc$'
+ return
+ endif
+
+ echohl WarningMsg
+ echo 'Do not edit this file! (Maybe a template file.)'
+ echohl None
+ endfunction
+ autocmd BufRead * call <SID>SearchForDoNotEditHeader()
+
" AFTER/FTPLUGIN AUTO COMMANDS
" Disable spell checking for files which don't need it.