X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/4b7e76830e74c69f841a5c3362f88597a758eac2..9f92e6c3460fb31860092ebfdaee2c691c8c28d5:/.vimrc?ds=sidebyside

diff --git a/.vimrc b/.vimrc
index ca22f75..ae1e9bc 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=<F2>
 " 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{,4})[]:.)}/])+|[-\*.·→+])\s+'
 
 " formatexpr
 " expression used for "gq" to format lines
@@ -851,7 +849,7 @@ set ci
 "       (local to buffer)
 "       set nopi        pi
 """ set pi this ABORTS < 1:7.1-135+1 (see #446268)
-if has('patch135')
+if has('patch073')
   set pi
 endif
 
@@ -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
@@ -1415,12 +1415,12 @@ set secure
 " 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,'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,47 +1441,73 @@ set vi='1000,f1,\"1000,:20,/20,%,!,h,n$VAR/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
+" 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
+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
-
-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 <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>
-"imap <F1> <Esc>
-"vmap <F1> <Esc>
+map <F1> <Esc>
+imap <F1> <Esc>
+vmap <F1> <Esc>
 
 " ignore Q -- Ex mode
 map Q <Esc>
 
-imap <Leader>-- –
-imap <Leader>--- —
-imap <Leader>... …
+let mapleader = ';'
+let maplocalleader = ';'
+
+" replace fake tab chars with real ones
+map <Leader>ft :%s,⇝·*,	,g<CR>:nohlsearch<CR>``
+" replace fake spaces with real ones
+map <Leader>fs :%s,·, ,g<CR>:nohlsearch<CR>``
+
+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 sghn Sehr geehrte Herren
 iab lf Liebe Frau
 iab lh Lieber Herr
 iab sgdh Sehr geehrte Damen und Herren
@@ -1490,10 +1516,23 @@ 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
+
+iab => ➬
+
+let g:airline_theme='minimalist'
+
+try
+  execute pathogen#infect()
+catch
+  "echo "Pathogen not installed"
+endtry
+
+let g:is_posix = 1
 
 let &cpo=s:cpo_save
 unlet s:cpo_save