|
> Чтобы автоматизировать выбор кодировки файла, можно использовать vim
> modeline в tex-файле.
> Ещё в конфигурационном файле .vimrc можно перечислить кодировки,
> которые vim будет использовать для авто-определения кодировки файла.
> В вашем случае:
> set fileencodings=utf-8,cp1251,сз866,koi8-r
> В подавляющем большинстве случаев авто-определение будет работать, и
> вам не нужны будут алиясы.
set fileencodings=utf-8,cp1251,сз866,koi8-r
не будет работать: если VIM открывая файл находит, что его формат не
совместим с кодировкой UTF-8, тогда считает, что файл закодирован в
CP1251, независимо от настоящей кодировки файла -- будь это Latin1, CP866,
или KOI8-R, так, что ваш пример, боюсь неправильный. Принцип работы весма
прост: перебирать в списке заданным в "set fileencodings=" кодировки пока
не попадется первая, которая не выдаст ошибку.
Об этом уже раньше писал Алексей Крюков, который тоже предложил
пользоваться механизмом "set fileencodings=".
К сожалению этот механизм обладает именно тем недостатком, что работат
всего для одной единственной восьми-битовой кодировки.
Возникающее здесь затруднение особенно отчеливо испытывают пользователи
операционных систем в средах где подавляющее количество локализованных
документов например в Latin1/CP1252 или Latin2/CP1250, а им приходится
работать также с документами в кирилических кодировках. Так, что отэ
:е ++enc=cp1251 и т.п.
боюсь никуда не деться пользуясь эдитором типа VIM.
Я во всяком случае для себя давно решил все документы, которые содержат
высшие ASCII (т.е. > 127) записывать исключительно в UTF-8, и не просто
для моего личного удобства, а для того например, чтобы мои друзья в Москве
могли правильно прочесть цитату, или даже название или просто фамилию,
если те написаны по французски, итальянски и т.д., учитывая факт, что все
современные европейские языки пользующиеся латинским алфавитом, все кроме
английского, содержат буквы с акцентами (с той же проблемой сталкиваемся
когда я тексте по русски хочется нам поместить даже самую короткую цитату
на любом языке кроме английского).
Мариуш
|
|