Если вы хотите писать документы на французском или на каком-то
другом языке западной Европы, то вам необходимо использование
восьмибитных символов. Здесь рассказывается как настроить Emacs,
чтобы он воспринимал такие символы.
Отображение 8-битных символов
Чтобы позволить Emacs отображать 8-битные символы, вам необходимо
добавить следующие строки в ваш файл .emacs
:
(standard-display-european 1)
(load-library "iso-syntax")
Если вы используете Emacs на терминале, который не имеет 8-битной
поддержки, то вы можете использовать библиотеку iso-ascii
((load-library "iso-ascii")
), которая заставляет Emacs
отображать такие символы с лучшим приближением.
Набор 8-битных символов
Если ваша клавиатура позволяет вам вводить символы, с
диактрическими знаками то нет никаких проблем. А вот если не
позволяет, то есть способ решающий эту проблему:
Библиотека iso-acc
Библиотека iso-acc
для Emacs позволит вам печатать
8-битные символы на 7-битной клавиатуре.
Для ее использования вставте в ваш файл .emacs
такую строчку:
(load-library "iso-acc")
Затем, после запуска Emacs и открытия файла, который вам надо
отредактировать, наберите Meta-x iso-accents-mode
.
Вы можете затем ввести é во французском слове
café набрав ' затем e
. В общем,
вы будете набирать сначала знак ударения (??? accent), а затем символ
на котором ставится диактричекий знак (в верхнем или нижнем
регистре). Могут использоваться следующие диактрические знаки:
'
: Acute
`
: Grave
^
: Circumflex
"
: Dieresis
~
: Тильда, cedilla, и другие частные
случаи (cf iso-acc.el).
/
:Для перечеркивания символа, и т.п.
Если вам нужен один из этих символов, а не символ с диактрическим
знаком, наберите пробел вслед за набором специального символа
Например, для набора l'éléphant, наберите
l ' spc ' e l ' e ...
Вы найдете список всех возможных комбинаций в файле iso-acc.el
.
Клавиша Meta
Некоторые терминалы позволят вам набрать 8-битные символы с помощью
клавиши Meta (или Alt). Например, нажатие
Meta-i даст вам символ é.
Но Emacs резервирует клавишу Meta для собственного
использования, и я не знаю библиотеку, которая позволит вам
использовать эту клавишу для символов с диактрическими знаками.
Вот решение этой проблемы:
(global-set-key "\ei" '(lambda () (interactive) (insert ?\351)))
_ ___
Такая строка, если будет вставлена в ваш файл .emacs
,
позволит набирать вам é используя сочетание клавиш
Meta-i. Вы можете переопределить таким образом те
сочетания клавиш которые вам нужны, если вы замените i
нужной клавишей и 351 нужным кодом (код был взят из набора
символов ISO-8859-1).
Предупреждение! Некоторые локальные режимы могут
переопределять такие сочетания клавиш.
Отображение 8-битных символов SGML
В SGML, вы можете печатать символы с диактрическими знаками с
помощью макросов. Например, клавиша é обозначена как
é. В общем приложения, которым надо читать SGML
могут читать 8-битные символы и нет необходимости использовать эти
макросы. Но некоторые программы не могут делать это. Существует
способ, который позволит избежать краха приложений.
Библиотека iso-sgml
позволит вам печатать символы с
диактрическими знаками в Emacs, но при сохранении вашего файла на
диск, он превратит 8-битные символы в их SGML-эквиваленты.
Поэтому легко, спасибо библиотеке, набирать и читать ваши
документы в Emacs, и вы можете быть уверены, что не 8-битные
приложения будут понимать ваши документы.
Для использования этой библиотеки вам просто надо добавить
следующие строки в ваш файл .emacs
:
(setq sgml-mode-hook
'(lambda () "Defaults for SGML mode."
(load-library "iso-sgml")))
При загрузке файла с расширением .sgml, Emacs
автоматически запускает режим sgml. Если это не делается,
вы можете задать это вручную набрав Meta-x sgml-mode
, или
автоматически, добавив следующие строки в ваш файл .emacs
:
(setq auto-mode-alist
(append '(("\.sgml$" . sgml-mode))
auto-mode-alist))
Этот режим позволит вам например, выбрать как вставлять 8-битные
символы. С помощью Meta-x sgml-name-8bit-mode
(или пункта
меню SGML/Toggle 8-bit insertion), вы можете выбрать как
печатать 8-битные символы -- как есть, или в форме SGML form,
например в форме &...;.
Этот режим также позволит вам показывать или прятать таги SGML, с
помощью Meta-x sgml-tags-invisible
(или пункта меню
SGML/Toggle Tag Visibility).
Режим PSGML позволит вам более удобно редактировать документы в
SGML с помощью Emacs.
Документация
psgml-linuxdoc объясняет
как установить этот режим и использовать его вместе с LinuxDoc.
Режим auto-fill
В нормальном режиме, когда вы печатаете абзац и достигаете конца
строки, вы должны сами использовать клавишу Return для
перехода на следующую строку, или весь параграф будет состоять из
одной строки. Когда вы используете клавишу Return для
перехода к следующей строке, то вы получаете абзацы с неровными
правыми границами.
Если вы позволите некоторым строкам превысить разумную ширину, то
вы не сможете просматривать их в некоторых редакторах.
Режим auto-fill автоматизирует эту скучную задачу: когда
вы перейдете далее определенной колонки, (по умолчанию 70-ая), то
вы автоматически перейдете на следующую строку.
Теперь расскажем как установить этот режим, и установить ширину
текста равной 80 символам:
(setq sgml-mode-hook
'(lambda () "Defaults for SGML mode."
(auto-fill-mode)
(setq fill-column 80)))
Вперед
Назад
Содержание