X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/7572a7598ce9aecb010865dbe13a7b27a58c87a2..16cf0684409d79e8506c3218e8ddba7cf63e70ad:/.vimrc diff --git a/.vimrc b/.vimrc index e971bef..3ea3e40 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{,4}|[ivx]{,4})[]:.)}/])+|[-\*.·→+])\s+' " formatexpr " expression used for "gq" to format lines @@ -850,7 +848,10 @@ set ci " Preserve kind of whitespace when changing indent " (local to buffer) " set nopi pi -set pi +""" set pi this ABORTS < 1:7.1-135+1 (see #446268) +if has('patch073') + set pi +endif " lisp " enable lisp mode @@ -876,7 +877,6 @@ set pi " 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 @@ -909,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" @@ -1086,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 @@ -1096,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 @@ -1104,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 @@ -1131,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 @@ -1412,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 @@ -1438,59 +1441,83 @@ 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 + +let g:netrw_home="$VARDIR/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 - -" treat wrapped lines normally -map k gk -map gk -map j gj -map gj +" flag trailing spaces as error only when not inserting +augroup tsperrorinsert + autocmd InsertEnter * match none /\s\+$/ + autocmd InsertLeave * match Error /\s\+$/ +augroup end " this isn't windows, screw the F1->help key -"map -"imap -"vmap +map +imap +vmap " ignore Q -- Ex mode map Q -imap -- – -imap --- — -imap ... … - -iab sgf Sehr geehrte Frau -iab sgh Sehr geehrter Herr -iab lf Liebe Frau -iab lh Lieber Herr -iab sgdh Sehr geehrte Damen und Herren -iab twimc To Whom It May Concern -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 +let mapleader = ';' +let maplocalleader = ';' + +" replace fake tab chars with real ones +map ft :%s,⇝·*, ,g:nohlsearch`` +" replace fake spaces with real ones +map fs :%s,·, ,g:nohlsearch`` + +function WhatHighlight() + echon 'hi<' . synIDattr(synID(line('.'),col('.'),1),'name') . '> ' + echon 'trans<' . synIDattr(synID(line('.'),col('.'),0),'name') . '> ' + echon 'lo<' . synIDattr(synIDtrans(synID(line('.'),col('.'),1)),'name') . '>' +endfunction + +map sy :call WhatHighlight() + +map / :nohlsearch + +iab → ➬ + +try + execute pathogen#infect() +catch + "echo "Pathogen not installed" +endtry + +let g:is_posix = 1 + +let g:ycm_add_preview_to_completeopt="popup" +let g:ycm_autoclose_preview_window_after_completion = 1 + +let g:UltiSnipsExpandTrigger = "" +let g:UltiSnipsJumpForwardTrigger = "" +let g:UltiSnipsJumpBackwardTrigger = "" +map :UltiSnipsEdit +imap :UltiSnipsEdit let &cpo=s:cpo_save unlet s:cpo_save