" pattern to recognize a numbered list
" (local to buffer)
" set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
-set flp=^\\s*\\d\\+[\\]:.)}]\\s*
+let &flp='^\v\s*((\a|\d+)[\]:.)}\t/-]\s|[-\*.·→+]\s)\s*'
" formatexpr
" expression used for "gq" to format lines
" swapsync
" "sync", "fsync" or empty; how to flush a swap file to disk
" set sws=fsync
+set sws=
" updatecount
" number of characters typed to cause a swap file update
" updatetime
" time in msec after which the swap file will be updated
" set ut=4000
+set ut=10000
" maxmem
" maximum amount of memory in Kbyte used for one buffer
" viminfo
" list that specifies what to write in the viminfo file
" set vi=
-set vi='1000,f1,\"1000,:20,/20,%,!,h,n$VARDIR/vim/viminfo
+set vi=<1000,'1000,\"1000,:100,/100,@100,f1,%,!,h,n$VARDIR/vim/viminfo
" bufhidden
" what happens with a buffer when it's no longer in a window
autocmd BufNewFile,BufRead /etc/logcheck/*.d*/* set tw=0
autocmd BufNewFile,BufRead /home/madduck/debian/pkg/logcheck/*/rulefiles/linux/*.d*/* set tw=0
+autocmd BufNewFile,BufRead /home/madduck/.tmp/dir????? set tw=0
" jump to last known position in file (:he last-position-jump)
-autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"zz" | endif
+autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"zz" | endif
+
+" leave the w mark whenever a file is written
+autocmd BufWrite * normal mw
+
+" keep an extra backup of vimperator's ctrl-i
+autocmd BufWritePost */vimperator-*.tmp exe 'write ' . fnameescape((exists('$TMPDIR') ? $TMPDIR : '/tmp') . '/vimperator.ctrl-i.' . strftime('%Y.%m.%d.%H%M%S'))
+autocmd BufWritePost */pentadactyl.*.txt exe 'write ' . fnameescape((exists('$TMPDIR') ? $TMPDIR : '/tmp') . '/pentadactyl.ctrl-i.' . strftime('%Y.%m.%d.%H%M%S'))
+
+autocmd BufRead *.vcf set filetype=vcard
+
+" leave the i mark whenever we go idle (after updatetime)
+"augroup markidle
+ "autocmd CursorHold * normal mi
+ "autocmd CursorHoldI * normal mi "DISABLED while broken (shifts left)
+"augroup end
" disable list mode when inserting stuff, otherwise keep it enabled, it's
-" useful
+" useful (see also setting lcs)
augroup listinsert
autocmd InsertEnter * set nolist
autocmd InsertLeave * set list
augroup end
+" flag trailing spaces as error only when not inserting
+augroup tsperrorinsert
+ autocmd InsertEnter * match none /\s\+$/
+ autocmd InsertLeave * match Error /\s\+$/
+augroup end
if &cp | set nocp | endif
let s:cpo_save=&cpo
map <Leader>/ :nohlsearch<CR>
+omap [{ :normal {jj<CR>
+nmap [{ :normal {jj<CR>
+omap ]} :normal }kk<CR>
+nmap ]} :normal }kk<CR>
+
iab sgf Sehr geehrte Frau
iab sgh Sehr geehrter Herr
+iab sghn Sehr geehrte Herren
iab lf Liebe Frau
iab lh Lieber Herr
iab sgdh Sehr geehrte Damen und Herren
iab Lg Liebe Grüsse
iab fg Freundliche Grüsse
iab mfg Mit freundlichen Grüssen
-iab mbbg Mit bundesbrüderlichen Grüßen
-iab mvbg Mit verbandsbrüderlichen Grüßen
+iab mbg Mit den besten Grüssen
+iab hg Herzliche Grüsse
+iab mhg Mit herzlichen Grüssen
+iab mbbg Mit bundesbrüderlichen Grüssen
+iab mvbg Mit verbandsbrüderlichen Grüssen
iab vd Vielen Dank
iab vld Vielen lieben Dank
+iab vhd Vielen herzlichen Dank
+iab email e-mail
+iab emails e-mails
+iab Email E-mail
+iab Emails E-mails
+iab mk Martin Krafft
+iab mfk Martin F. Krafft
+iab addr Hanfstaenglstraße 15\rD–80638 München
let &cpo=s:cpo_save
unlet s:cpo_save
let g:SuperTabMappingForward = '<nul>'
let g:SuperTabMappingBackward = '<s-nul>'
-match Error /\s\+$/
+let g:is_posix = 1