Emacs
Если вы хотите писать документы на французском или на каком-то другом языке западной Европы, то вам необходимо использование восьмибитных символов. Здесь рассказывается как настроить Emacs, чтобы он воспринимал такие символы.
Чтобы позволить Emacs отображать 8-битные символы, вам необходимо
добавить следующие строки в ваш файл .emacs
:
(standard-display-european 1) (load-library "iso-syntax")
Если вы используете Emacs на терминале, который не имеет 8-битной
поддержки, то вы можете использовать библиотеку iso-ascii
((load-library "iso-ascii")
), которая заставляет Emacs
отображать такие символы с лучшим приближением.
Если ваша клавиатура позволяет вам вводить символы, с диактрическими знаками то нет никаких проблем. А вот если не позволяет, то есть способ решающий эту проблему:
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
.
Некоторые терминалы позволят вам набрать 8-битные символы с помощью клавиши Meta (или Alt). Например, нажатие Meta-i даст вам символ é.
Но Emacs резервирует клавишу Meta для собственного использования, и я не знаю библиотеку, которая позволит вам использовать эту клавишу для символов с диактрическими знаками.
Вот решение этой проблемы:
(global-set-key "\ei" '(lambda () (interactive) (insert ?\351))) _ ___
Такая строка, если будет вставлена в ваш файл .emacs
,
позволит набирать вам é используя сочетание клавиш
Meta-i. Вы можете переопределить таким образом те
сочетания клавиш которые вам нужны, если вы замените i
нужной клавишей и 351 нужным кодом (код был взят из набора
символов ISO-8859-1).
Предупреждение! Некоторые локальные режимы могут переопределять такие сочетания клавиш.
В 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.
В нормальном режиме, когда вы печатаете абзац и достигаете конца строки, вы должны сами использовать клавишу Return для перехода на следующую строку, или весь параграф будет состоять из одной строки. Когда вы используете клавишу Return для перехода к следующей строке, то вы получаете абзацы с неровными правыми границами.
Если вы позволите некоторым строкам превысить разумную ширину, то вы не сможете просматривать их в некоторых редакторах.
Режим auto-fill автоматизирует эту скучную задачу: когда вы перейдете далее определенной колонки, (по умолчанию 70-ая), то вы автоматически перейдете на следующую строку.
Теперь расскажем как установить этот режим, и установить ширину текста равной 80 символам:
(setq sgml-mode-hook '(lambda () "Defaults for SGML mode." (auto-fill-mode) (setq fill-column 80)))