" list of flags specifying which commands wrap to another line
" (local to window)
" set ww=
-set ww=b,s,[,],~
+set ww=b,s,[,<,>,],~
" startofline
" many jump commands move the cursor to the first non-blank
" wrap long lines at a character in 'breakat'
" (local to window)
" set nolbr lbr
-set linebreak
+" does not work with autocmd set list/nolist below
" breakat
" which characters might cause a line break
" pattern to recognize a numbered list
" (local to buffer)
" set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
+set flp=^\\s*\\d\\+[\\]:.)}]\\s*
" formatexpr
" expression used for "gq" to format lines
" foldlevelstart
" value for 'foldlevel' when starting to edit a file
" set fdls=-1
-set fdls=1
" foldcolumn
" width of the column used to indicate folds
" folding type: "manual", "indent", "expr", "marker" or "syntax"
" (local to window)
" set fdm=manual
+set fdm=marker
" foldexpr
" expression used when 'foldmethod' is "expr"
" directory
" list of directories for the swap file
" set dir=.,/home/madduck/tmp,/var/tmp,/tmp
-set dir=.,~/tmp//,/var/tmp//,/tmp//
+set dir=.,$TMPDIR//,/var/tmp//,/tmp//
" swapfile
" use a swap file for this buffer
" 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
" wildmode
" specifies how command line completion works
" set wim=full
-set wim=list
+set wim=list:full
" suffixes
" list of file name extensions that have a lower priority
" viewdir
" directory where to store files with :mkview
" set vdir=/home/madduck/.vim/view
-set vdir=$VAR/vim/view
+set vdir=$VARDIR/vim/view
" viminfo
" list that specifies what to write in the viminfo file
" set vi=
-set vi='1000,f1,\"1000,:20,/20,%,!,h,n$VAR/vim/viminfo
+set vi='1000,f1,\"1000,:20,/20,%,!,h,n$VARDIR/vim/viminfo
" bufhidden
" what happens with a buffer when it's no longer in a window
autocmd BufNewFile,BufRead /home/madduck/debian/pkg/logcheck/*/rulefiles/linux/*.d*/* 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'))
+
+" 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
set cpo&vim
" treat wrapped lines normally
-map k gk
-map <Up> gk
-map j gj
-map <Down> gj
+nnoremap k gk
+nnoremap <Up> gk
+inoremap <Up> <C-\><C-o>gk
+nnoremap j gj
+nnoremap <Down> gj
+inoremap <Down> <C-\><C-o>gj
" this isn't windows, screw the F1->help key
map <F1> <Esc>
map <Leader>sy :echo synIDattr(synID(line("."), col("."), 1), "name")<CR>
+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 lf Liebe Frau
iab mvbg Mit verbandsbrüderlichen Grüßen
iab vd Vielen Dank
iab vld Vielen lieben Dank
+iab email e-mail
+iab emails e-mails
+iab Email E-mail
+iab Emails E-mails
let &cpo=s:cpo_save
unlet s:cpo_save
+
+source $HOME/.vim/macros/table.vim
+
+let g:SuperTabMappingForward = '<nul>'
+let g:SuperTabMappingBackward = '<s-nul>'