" Don't store swap files in the same directory as the edited file.
set directory-=.
-" But store them in ~/.tmp if available.
+" But store them in ~/.tmp or ~/tmp (already set by default) if available.
set directory^=~/.tmp
" Disable modelines as they may cause security problems. Instead use
" Activate syntax folding.
if has('folding')
set foldmethod=syntax
- set foldcolumn=2
+ " Only use fold column if we have enough space (for example in a (virtual)
+ " terminals).
+ if &columns > 80
+ set foldcolumn=2
+ endif
set foldlevel=99 " no closed folds at default, 'foldenable' would disable
" folding which is not what I want
endif
" Activate spell checking, use English as default.
if exists('+spell') && has('syntax')
- " But not when diffing as spell checking is distracting in this case.
+ " But not when diffing because spell checking is distracting in this case.
if !&diff
set spell
endif
\ '| call matchadd("Todo", l:x)'
\ '| endfor'
-" Highlight unicode whitespace which is no normal whitespace (0x20).
+" Highlight Unicode whitespace which is no normal whitespace (0x20).
let l:spaces = ['00a0', '1680', '180e', '2000', '2001', '2002',
\ '2003', '2004', '2005', '2006', '2007', '2008',
\ '2009', '200a', '200b', '200c', '200d', '202f',
let g:perl_include_pod = 1 " syntax coloring for PODs
" Python.
let g:python_highlight_all = 1
+ " Shell.
+ let g:sh_noisk = 1 " don't add . to 'iskeyword'
+ let g:sh_is_posix = 1 " POSIX shell (e.g. dash) is compatible enough
+ let g:sh_fold_enabled = 7 " functions (1), heredoc (2) and if/do/for (4)
" Vim.
let g:vimsyn_embed = 0 " don't highlight embedded languages
let g:vimsyn_folding = 'af' " folding for autogroups (a) and functions (f)
autocmd QuickFixCmdPre * write
endif
+" Don't ignore case while in insert mode, but ignore case in all other modes.
+" This causes <C-N>/<C-P> to honor the case and thus only complete matching
+" capitalization. But while searching (/) 'ignorecase' is used.
+" InsertEnter/InsertLeave doesn't exist in older Vims.
+ if exists('##InsertEnter') && exists('##InsertLeave')
+ autocmd InsertEnter * set noignorecase
+ autocmd InsertLeave * set ignorecase
+ endif
+
" AFTER/FTPLUGIN AUTO COMMANDS
" Disable spell checking for files which don't need it.