X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.vimrc;h=c7f48f7b9dcb5e0052ec731193f8acab8db87553;hb=2d247f3edd73ddd6e758b52b2d739c0a20227a34;hp=f064678b59caca2fa064bc47cf5b502e69d338dd;hpb=bcb6fa81c38a45f204bf88c41a2760f3806b03eb;p=dotfiles.git diff --git a/.vimrc b/.vimrc index f064678..c7f48f7 100644 --- a/.vimrc +++ b/.vimrc @@ -113,6 +113,24 @@ set noautoindent " Do not automatically set the indent of a new line set timeout timeoutlen=3000 " allow timing out up to 3 seconds halfway into a mapping +" 19 reading and writing files +if v:version >= 703 + set cryptmethod=blowfish " encryption method for file writing: zip or blowfish +endif + +" 20 the swap file + +" list of directories for the swap file; remove . (the current directory) +if has("win32") + set directory=$TEMP//,c:/tmp//,c:/temp// +else + set directory=~/tmp//,/var/tmp//,/tmp// +endif +" if a directory ends in two path separators "//" +" or "\\", the swap file name will be built from the complete path to +" the file with all path separators substituted to percent '%' signs. +" This will ensure file name uniqueness in the preserve directory. + " 21 command line editing set history=1000 " how many command lines are remembered @@ -204,15 +222,17 @@ else \ || has("win32") " Background of the terminal is black or dark grey set background=dark + highlight MoreMsg ctermfg=white + highlight ModeMsg ctermfg=white + highlight Question ctermfg=white else set background=light + highlight MoreMsg cterm=bold ctermfg=NONE + highlight Question cterm=bold ctermfg=NONE endif if (&term =~ "linux") execute 'set t_kb=' . nr2char(127) - else - highlight MoreMsg cterm=bold ctermfg=NONE - highlight Question cterm=bold ctermfg=NONE endif if (&term =~ "rxvt") || (&term =~ "screen") || (&term =~ "term") || (&term =~ "vt100") @@ -236,7 +256,7 @@ else endif if (&term =~ "screen") - set ttymouse=xterm " Enable mouse codes under GNU screen + set ttymouse=xterm2 " Enable mouse codes under screen/tmux if empty(&t_ts) " Enable window title under screen/tmux let &t_ts = "\e]2;" @@ -260,6 +280,8 @@ nmap \ss :syntax sync fromstart " Enable filetype detection filetype plugin indent on +runtime macros/matchit.vim + " Reread me after editing autocmd BufWritePost ~/.vimrc source ~/.vimrc | syntax on @@ -289,15 +311,13 @@ autocmd BufReadPost * call RestorePosition() function! SetupEncoding(encoding) - if !has("iconv") || exists('b:encoding_set') + if !has("iconv") || exists('b:encoding_set') || strlen(a:encoding) == 0 return endif - if strlen(a:encoding) > 0 - call RestorePosition() - let b:encoding_set = 1 - execute "edit ++enc=" . a:encoding - endif + call RestorePosition() + let b:encoding_set = 1 + execute "edit ++enc=" . a:encoding endfunction @@ -563,19 +583,21 @@ endif " Called automagically after every buffer read, enables fileencoding -" setting from modeline (see Tip #911) +" setting from modeline (see Tip #911: http://vim.wikia.com/wiki/VimTip911) function! AutoEncoding() - if exists("b:justloaded") - unlet b:justloaded - if &modified && &fileencoding != "" - call SetupEncoding(&fileencoding) - endif + if &modified && &fileencoding != "" + call SetupEncoding(&fileencoding) + else + redraw endif + autocmd! auto-encoding + augroup! auto-encoding endfunction -" Magic autocommands installed here -autocmd BufReadPost * let b:justloaded = 1 +augroup auto-encoding +autocmd! autocmd BufWinEnter * call AutoEncoding() +augroup END let CONVERT=1 @@ -725,14 +747,5 @@ command! UName call Uname() endif " ---------- -augroup redraw-once -autocmd! -" Redraw screen after all macros in ~/.vimrc and ~/.vim/ -autocmd BufReadPost * redraw -" Remove the redraw autocommand (it's only needed once) and the autgroup -autocmd BufReadPost * autocmd! redraw-once -autocmd BufReadPost * augroup! redraw-once -augroup END - " This has to go to the very end of ~/.vimrc to allow reading the .vimrc set secure " safer working with script files in the current directory