" EDITOR SETTINGS
-" Don't use any modelines.
-set nomodeline
-
" When completing paths first use the longest path then display a list of all
" possible files.
set wildmode=longest,list
let mapleader = ","
let maplocalleader = ","
+" Use <space> to move down a page and - to move up one like in mutt.
+nnoremap <Space> <C-f>
+nnoremap - <C-b>
+
" Maps to change spell language between English and German.
map <Leader>se :set spelllang=en_us<CR>
map <Leader>sd :set spelllang=de_de<CR>
\ ((getcmdtype() == ':' && getcmdpos() <= 2) ? 'q' : 'Q')
endif
+" Make sure xa0 (alt + space) is automatically changed to a normal whitespace
+" if pressed accidentally while in insert mode (happens on Mac sometimes).
+if has("mac")
+ imap <Char-0xa0> <Space>
+endif
+
" Disable Apple style movements in MacVim.
if has("gui_macvim")
let macvim_skip_cmd_opt_movement = 1
" SYNTAX SETTINGS
" Activate syntax coloring.
-syntax enable
+if has("syntax")
+ syntax enable
+
+" Highlight text longer then 78 characters. Thanks to Tony Mechelynck
+" <antoine.mechelynck@gmail.com> from the Vim mailing list.
+ if v:version >= 700
+ 2match Todo /\%>78v./
+ else
+ match Todo /\%>78v./
+ endif
+endif
" PLUGIN SETTINGS
map <Leader><Leader> <plug>NERDCommenterToggle
-" Automatically save and the load the file state (stored in ~/.vim/view).
-autocmd BufWrite * mkview
-autocmd BufRead * loadview
+" AUTO COMMANDS
+
+" Use a custom auto group to prevent problems when the vimrc files is sourced
+" twice.
+if has("autocmd")
+ augroup vimrc
+ autocmd!
+
+" Use diff filetype for mercurial patches in patch queue.
+ autocmd BufReadPost */.hg/patches/* set filetype=diff
+
+ augroup END
+endif