|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Max A. Krasilnikov 2:5020/400 15 May 2006 23:15:49 To : Oleg Nosov Subject : Re: vim + кодиpовки -------------------------------------------------------------------------------- Здравствуйте! Mon, May 15, 2006 at 06:57:09AM +0400, Oleg.Nosov wrote: > Я себе сделал мини-меню, вызывается по нажатию F6, переключает кодировки > табом. Вот это добавить в ~/.vimrc > set wcm=<TAB> > menu Encoding.Win :e ++enc=cp1251<CR> > menu Encoding.Koi :e ++enc=koi8-r<CR> > menu Encoding.Dos :e ++enc=866<CR> > menu Encoding.UTF :e ++enc=utf-8<CR> > map <F6> :emenu Encoding.<TAB> Hедостаток: будет материться на неперекодируемые символы и не всегда по этому поводу перекодировать файлы. Пользую вот такую конструкцию, честно спионереную не помню где: func! SwEnc(en) if a:en ==? 'KOI8-U' set termencoding=8bit-koi8-u set encoding=8bit-koi8-u elseif a:en ==? 'CP1251' set termencoding=8bit-koi8-u set encoding=8bit-cp1251 elseif a:en ==? 'UTF-8' set termencoding=8bit-koi8-u set encoding=utf-8 elseif a:en ==? 'CP866' set termencoding=8bit-koi8-u set encoding=8bit-cp866 endif endfunction func! AutoEnc() let e=GetEnc(expand('%')) call SwEnc(e) endfunction func! GetEnc(f) let e = system('enca -i "' . a:f . '"') let e = substitute(e,'\n.*','','') if e =~ 'unknown' return 'ascii' endif return e endfunc menu Encoding.koi8-u :call SwEnc('KOI8-U')<CR> menu Encoding.windows-1251 :call SwEnc('CP1251')<CR> menu Encoding.ibm-866 :call SwEnc('CP866')<CR> menu Encoding.utf-8 :call SwEnc('UTF-8')<CR> set wildmenu set wcm=<Tab> map <C-C> :emenu Encoding.<TAB> -- WBR, pseudo Avalon Project http://avalon.org.ua --- ifmail v.2.15dev5.3 * Origin: ColoCall Internet Data Center (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/2443064bc2213.html, оценка из 5, голосов 10
|