Поиск |
[software] [catdoc] [tcl] [geography] [old things] | |||||||||||||||||
Немного о настройке VimРедактирование текста в разных кодировкахVim 6.x понимает тексты в разных кодировках. Кодировку можно указать при открытии файла (команды :edit и :split) с помощью опции ++enc=имя файл, где имя - любое имя кодировки известное вашему системному iconv.Простейший способ сделать перекодировку на лету - повесить команды перегрузки текущего файла как файла с разными кодировками на какие-нибудь кнопки. Вот так: map <F2> :e ++enc=cp1251 %<CR> map <F3> :e ++enc=utf-8 %<CR> map <F4> :e ++enc=ibm866 %<CR> map <F5> :e ++enc=koi8-r %<CR> set wildmenu set wcm=<Tab> menu Encoding.koi8-r :e ++enc=koi8-r<CR> menu Encoding.windows-1251 :e ++enc=cp1251<CR> menu Encoding.ibm-866 :e ++enc=ibm866<CR> menu Encoding.utf-8 :e ++enc=utf-8 <CR> map <F8> :emenu Encoding.<TAB> Автоматическое подхватывание правильного шрифта gvim в зависимости от локалиСледующий фрагмент взят из .vimrc Артема Чуприны.
" SetGuiFont()
" Выставляет опцию 'guifont' согласно текущему состоянию локали или
" переменной RESOURCE_NAME
function! SetGuiFont ()
if has('x11') && has('gui_running')
let resource_name = $RESOURCE_NAME
if resource_name == ''
if &encoding == 'koi8-r'
let resource_name = 'KOI'
elseif &encoding == '8bit-cp1251'
let resource_name = 'WIN'
elseif &encoding == 'utf-8'
let resource_name = 'UTF'
elseif &encoding == 'iso-8859-5'
let resource_name = 'ISO'
elseif &encoding == 'latin1'
let resource_name = 'LAT'
endif
endif
let v:errmsg = ''
silent! new +r\ !xrdb\ -query
exe 'silent! /^' . resource_name . '\*font:'
if v:errmsg == ''
s/\s*$//
let fontname = matchstr(getline('.'), '\S\+$')
if fontname != ''
let &guifont = fontname
endif
endif
q!
endif
endfunction
Для того чтобы функция находила правильный шрифт требуется поместить
в .Xdefaults следующие ресурсы (или им подобные)::
==== 8< [!xrdb -q | egrep '^[a-z][a-z][a-z]*font:'] ==== iso*font: -rfx-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-5 koi*font: -rfx-fixed-medium-r-normal--14-*-*-*-*-*-koi8-r lat*font: -misc-fixed-medium-r-normal--14-*-*-*-*-*-iso8859-1 utf*font: -misc-fixed-medium-r-normal--14-*-*-*-*-*-iso10646-1 win*font: -rfx-fixed-medium-r-normal--14-*-*-*-*-*-microsoft-cp1251 ==== >8 [!xrdb -q | egrep '^[a-z][a-z][a-z]*font:'] ==== |