X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/5fbcb0b6d9382f743786874013faa52de69168ab..0e0692bef3a6d586446e7962ffa9835f617004ea:/.vimrc diff --git a/.vimrc b/.vimrc index 9ecc0f2..89e06d2 100644 --- a/.vimrc +++ b/.vimrc @@ -1,6 +1,3 @@ -" vim: set ft=vim : -version 7.1 - " obtained from the output of :options, then postprocessed: " d2} " :%s/^ *[[:digit:]]\+/""" @@ -52,7 +49,7 @@ set pt= " 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 @@ -195,7 +192,7 @@ set nowrap " 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 @@ -673,6 +670,7 @@ set fo=tcroqn1l " pattern to recognize a numbered list " (local to buffer) " set flp=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s* +let &flp='^\v\s*((\a|\d+)[\]:.)}\t/-]\s|[-\*.·→+]\s)\s*' " formatexpr " expression used for "gq" to format lines @@ -879,7 +877,6 @@ endif " 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 @@ -912,6 +909,7 @@ set fdls=1 " folding type: "manual", "indent", "expr", "marker" or "syntax" " (local to window) " set fdm=manual +set fdm=marker " foldexpr " expression used when 'foldmethod' is "expr" @@ -1089,7 +1087,7 @@ set ar " 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 @@ -1099,6 +1097,7 @@ set dir=.,~/tmp//,/var/tmp//,/tmp// " 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 @@ -1107,6 +1106,7 @@ set dir=.,~/tmp//,/var/tmp//,/tmp// " 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 @@ -1134,7 +1134,7 @@ set hi=100 " 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 @@ -1420,7 +1420,7 @@ 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$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 @@ -1441,36 +1441,42 @@ set vi='1000,f1,\"1000,:20,/20,%,!,h,n$VARDIR/vim/viminfo " set to "msg" to see all error messages " set debug= +if &cp | set nocp | endif +let s:cpo_save=&cpo +set cpo&vim + filetype plugin indent on syntax on colorscheme madduck -autocmd BufNewFile,BufRead /etc/logcheck/*.d*/* set tw=0 -autocmd BufNewFile,BufRead /home/madduck/debian/pkg/logcheck/*/rulefiles/linux/*.d*/* set tw=0 - -" display the git-diff --cached in window below commit -" assumes nosplitbelow set. Might want to use wincmd p otherwise -autocmd FileType gitcommit DiffGitCached | wincmd J +" leave the w mark whenever a file is written +autocmd BufWrite * normal mw -" jump to last known position in file (:he last-position-jump) -autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"zz" | endif +" 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 - -if &cp | set nocp | endif -let s:cpo_save=&cpo -set cpo&vim +" flag trailing spaces as error only when not inserting +augroup tsperrorinsert + autocmd InsertEnter * match none /\s\+$/ + autocmd InsertLeave * match Error /\s\+$/ +augroup end " treat wrapped lines normally -map k gk -map gk -map j gj -map gj +nnoremap k gk +nnoremap gk +inoremap gk +nnoremap j gj +nnoremap gj +inoremap gj " this isn't windows, screw the F1->help key map @@ -1483,10 +1489,6 @@ map Q let mapleader = ';' let maplocalleader = ';' -imap -- – -imap --- — -imap ... … - " replace fake tab chars with real ones map ft :%s,⇝·*, ,g:nohlsearch`` " replace fake spaces with real ones @@ -1496,8 +1498,14 @@ map sy :echo synIDattr(synID(line("."), col("."), 1), "name") map / :nohlsearch +omap [{ :normal {jj +nmap [{ :normal {jj +omap ]} :normal }kk +nmap ]} :normal }kk + 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 @@ -1506,10 +1514,15 @@ iab lg liebe Grüsse 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 vd Vielen Dank -iab vld Vielen lieben Dank +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 + +execute pathogen#infect() + +let g:is_posix = 1 let &cpo=s:cpo_save unlet s:cpo_save