Слишком Часто Задаваемые (tm) вопросы
списка рассылки xemacs-users-ru(a)xemacs.org
Copyright (C) Alexey Mahotkin <alexm(a)hsys.msk.ru>
Разрешается свободное использование этого документа.
$Id: xemacs-users-ru-faq,v 1.1 2001/07/28 18:18:22 alexm Exp $
Введение
========
Список рассылки xemacs-users-ru(a)xemacs.org посвящен обсуждению любых
вопросов, касающихся использования XEmacs. Предпочтительный язык
переписки -- русский. Перед тем, как задавать вопросы, пожалуйста,
ознакомьтесь с этим документом, свежую копию которого всегда можно
найти по адресу
<URL:
http://alexm.here.ru/xemacs-cyr/xemacs-users-ru-faq>
Кроме того, ознакомьтесь с архивом списка рассылки, который можно
найти по адресу
<URL:
http://list-archive.xemacs.org/xemacs-users-ru/>
Базовая информация
==================
XEmacs в свое время "отпочковался" от GNU Emacs, и с тех пор
развивается как самостоятельный продукт. В силу целого ряда причин в
настоящее время не представляется возможным объединить эти два
продукта обратно в один. Также не представляется возможным дать
внятный ответ на вопрос, какой из двух продуктов "лучше", и какой
"следует использовать". Каждый сам должен решить этот вопрос для
себя, базируясь на собственном опыте и предпочтениях.
В дальнейшем "XEmacs" означает продукт, которому посвящен домен
xemacs.org; "GNU Emacs" -- оригинальная GNU-версия Emacs, написанная в
свое время Ричардом Столлменом; "Emacs" -- общее название для XEmacs и
GNU Emacs.
XEmacs _не_ требует для своей работы X Window System. Буква "икс" в
названии означает, скажем так, "extended". XEmacs можно
скомпилировать вообще без поддержки X Window System, и он будет
работать на обычной текстовой консоли. Более того, XEmacs успешно
работает даже под MS Windows.
XEmacs можно скомпилировать в двух основных вариантах: с Mule или без
Mule. Русификация обоих вариантов кардинально различается и будет
рассмотрена каждая в своем разделе.
Mule означает "MUlti Language Environment". Это система поддержки
множества человеческих языков в рамках Emacs. XEmacs/Mule
поддерживает множество различных кодировок, как одно-, так и
многобайтных.
XEmacs без Mule поддерживает лишь "сырые" восьмибитные символы,
практически никак не интерпретируя их содержимое. Из-за этого в
Xemacs без Mule можно редактировать только файлы в какой-нибудь одной
восьмибитной кодировке. Однако, если вы постоянно пользуетесь,
например, кодировкой koi8-r, то можете безболезненно использовать
XEmacs без Mule.
Заметьте, что в данном документе по большей части рассматривается
"кириллизация", а не "русификация". Это позволяет расширить
аудиторию
этого документа на украинских, белорусских, болгарских и некоторых
других пользователей.
При работе под X Window System рекомендуется настроить свою систему
так, чтобы использовалась "честная" кириллическая раскладка, то есть
xkb или xmodmap настроены так, что возвращают Cyrillic_XXX, а не
Aacute и т. п.
Настройка кириллических шрифтов под X Window System
===================================================
Напишите в вашем файле ~/.Xresources (заменив имена шрифтов на
нужные):
Emacs.default.attributeFont: -adobe-courier-medium-r-*-*-14-*-75-75-*-*-koi8-1
Emacs.bold.attributeFont: -adobe-courier-bold-r-*-*-14-*-75-75-*-*-koi8-1
Emacs.bold-italic.attributeFont: -adobe-courier-bold-o-*-*-14-*-75-75-*-*-koi8-1
Emacs.italic.attributeFont: -adobe-courier-medium-o-*-*-14-*-75-75-*-*-koi8-1
Emacs*menubar*font: -adobe-helvetica-bold-r-*-*-12-*-75-75-*-*-koi8-1
(См. также следующую секцию).
Кириллизация XEmacs с Mule под X Window System
==============================================
Возьмите XEmacs 21.4.4. Более старые версии так или иначе не работают
в отношении кириллицы под Mule.
Напишите в ~/.xemacs/init.el:
(set-language-environment 'Cyrillic-KOI8)
Если вы используете честную кириллическую раскладку, то не требуется
включать никаких input-methods: они нужны в основном тогда, когда
базовая операционная система не умеет давать XEmacs'у ничего, кроме
ASCII-символов, и приходится следить за раскладкой на уровне XEmacs.
Если вы используете шрифты в кодировке koi8-r, то нужно добавить в
~/.xemacs/init.el:
(set-charset-ccl-program 'cyrillic-iso8859-5 'ccl-encode-koi8-r-font)
(set-charset-registry 'ascii "koi8-r")
(set-charset-registry 'cyrillic-iso8859-5 "koi8-r")
Если вы используете шрифты в кодировке iso8859-5, то ничего добавлять
не надо.
BUG: При переключении раскладки будет раздаваться противный писк, а в
мини-буфере появляется сообщение "iso-next-group not defined". Будет
исправлено.
BUG: Невозможно посмотреть с помощью клавиш C-h k, какая функция
привязана к кириллическим клавишам, потому что оно подхватывает
"клавишу" iso-next-group, тогда как должна её игнорировать. Будет
исправлено.
BUG: Не работает копирование и вставка мышью текста в XEmacs и из
XEmacs'а. Будет исправлено.
Кириллизация XEmacs без Mule под X Window System
================================================
Возьмите последнюю версию XEmacs, например, 21.4.4.
В версиях 21.1.x не работают функции преобразования регистра типа
`upcase-region-or-word', а также поиск с игнорированием регистра.
Поставьте дополнительный пакет ru-keys, свежую версию которого можно
взять по адресу
<URL:
http://www.bcs.zp.ua/~awn/xemacs/ru-keys.el>
Поместите его в какое-нибудь место, указанное в переменной
`load-path', и добавьте в свой ~/.emacs или ~/.xemacs/init.el:
(require 're-keys)
Теперь при нажатии на русскую букву в буфер будет помещаться
соответствующий символ в кодировке koi8-r. Заметьте, что если вы
перекодируете файл ru-keys.el в другую кодировку (например, в
windows-1251), то символы в буфере будут именно в этой кодировке.
Кроме того, этот пакет правильно настраивает таблицы соответствия
прописных и строчных букв, а также "синтаксические таблицы", что
позволяет правильно работать функциям типа `forward-word'.
В настоящий момент ведется разработка пакета Mulight, который
позволяет гибко переключать кодировку, в которой ведется работа с
файлами. Этот пакет будет надмножеством пакета ru-keys, но он
еще не написан :) Если вам нужна его функциональность, то
попробуйте лучше использовать XEmacs/Mule.
Local variables:
mode: auto-fill
mode: text
End:
--alexm