[Comm] Vi и кодировки

Alexej Kryukov =?iso-8859-1?q?akrioukov_=CE=C1_mail=2Eru?=
Пн Дек 29 10:45:08 MSK 2003


On Monday 29 December 2003 06:34, therion wrote:
> Приветствую сообщество!
> Есть такая проблема: поменял системную кодировку с cp1251 на koi8-r.

Интересно, зачем? Если кто традиционно использует koi8 -- это
понятно, но менять заведомо лучшую на худшую...

> Vi (точнее gvim) использую для чтения текстов (например в формате
> html) после смены кодировки открывать стал неправильно (вместо
> русского выводится тарабарщина).
> Пробовал играть различными параметрами, типа guifontset encoding и
> прочее - не помогает (по всей видимости эти параметры относятся к
> тому тексту который вводится). Если кто-то сталкивался с подобным,
> или просто хорошо знаком с vi помогите...

Вот guifontset использовать вообще не надо -- это ни к чему
хорошему не приводит. guifont здесь предпочтительнее
(см. образец ниже).

> К сожалению машина на которой возникли проблемы, у меня дома, так что 
> сказать 
> прямо сечас не могу, но до этого открывал любые html страницы, в любой 
> кодировке. Видимо виновата не кодировка конкретного файла, а кодировка
> в которой vim выводит на экран....

Опций в графической версии собственно говоря, три: encoding,
fileencoding(s), и кодировка шрифта, которая задается в
guifont. Наиболее универсальный вариант состоит в том, чтобы
первую выставить в utf-8, а последнюю -- в iso10646-1
(собственно, на сборке с gtk2 иначе и нельзя). Но даже
при этом варианте vim не умеет отличать 8-битные кодировки одну 
от другой. Поэтому сомнительно, чтобы у Вас когда-либо 
правильно распознавались и koi, и cp1251 -- разве что за
счет наличия в файлах в cp1251 символов, отсутствующих
в koi...

Поэтому у меня установки стоят такие:

set encoding=utf-8
set fileencodings=ucs-bom,8bit-cp1251,utf-8

На koi, если попадается, переключать приходится вручную
(вернее, с помощью специально написанной функции).

> Попутный вопрос: можно ли как-то увеличить размер шрифта, при
> просмотре файла, а то мелковато для чтения получается. Заранее
> благодарен.

Вот фрагмент моего .vimrc с установкой шрифта (на все случаи
жизни):

" GUI font
if has("win32")
  set guifont=lucida_sans_unicode:h12:::cDEFAULT
elseif has("gui_kde")
  set guifont=Fixed\[Misc]/18/-1/5/50/0/0/0/1/0
elseif has('gui_gtk2')
  set guifont=Fixed\ 18
elseif has('gui')
  set guifont=-misc-fixed-medium-r-normal-*-*-200-*-*-c-*-iso10646-1
endif

Этого должно быть достаточно.




Подробная информация о списке рассылки community