X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.vimrc;h=f7404f702f8ec8eb550357bdc8b25dbad9188a41;hp=c365a9559360c1e4239eb748e89a498e1e02448a;hb=f31430bb4189af8383ddbd4456ee0684c4174d75;hpb=483fa08b6bc0f5fa6d5720cda59e9c1f8de21b41 diff --git a/.vimrc b/.vimrc index c365a95..f7404f7 100644 --- a/.vimrc +++ b/.vimrc @@ -289,15 +289,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 @@ -471,7 +469,7 @@ if version >= 700 function! W() " let encodings=filter(split(&fileencodings, ','), 'v:val != "ucs-bom"') let encodings = ['us-ascii'] - if $LC_CTYPE == 'ru_RU.UTF-8' + if $LC_CTYPE =~ 'UTF-8' " UTF-8 or en_US.UTF-8 or ru_RU.UTF-8 or such let encodings += ['utf-8'] elseif $LC_CTYPE == 'ru_RU.KOI8-R' let encodings += ['koi8-r', 'utf-8'] @@ -563,19 +561,19 @@ 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) 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 @@ -729,7 +727,7 @@ 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 +" Remove the redraw autocommand (it's only needed once) and the group autocmd BufReadPost * autocmd! redraw-once autocmd BufReadPost * augroup! redraw-once augroup END