Next Previous Contents

## 4. Настройка `Emacs`

## 4.1 Символы с диактрическими знаками

Если вы хотите писать документы на французском или на каком-то другом языке западной Европы, то вам необходимо использование восьмибитных символов. Здесь рассказывается как настроить 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, вы можете печатать символы с диактрическими знаками с помощью макросов. Например, клавиша é обозначена как &eacute;. В общем приложения, которым надо читать SGML могут читать 8-битные символы и нет необходимости использовать эти макросы. Но некоторые программы не могут делать это. Существует способ, который позволит избежать краха приложений.

Библиотека `iso-sgml` позволит вам печатать символы с диактрическими знаками в Emacs, но при сохранении вашего файла на диск, он превратит 8-битные символы в их SGML-эквиваленты.

Поэтому легко, спасибо библиотеке, набирать и читать ваши документы в Emacs, и вы можете быть уверены, что не 8-битные приложения будут понимать ваши документы.

Для использования этой библиотеки вам просто надо добавить следующие строки в ваш файл `.emacs`:

          (setq sgml-mode-hook

          '(lambda () "Defaults for SGML mode."

           (load-library "iso-sgml")))

## 4.2 Режим 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).

## 4.3 Режим PSGML

Режим PSGML позволит вам более удобно редактировать документы в SGML с помощью Emacs.

Документация psgml-linuxdoc объясняет как установить этот режим и использовать его вместе с LinuxDoc.

## 4.4 Разное

### Режим auto-fill

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

Если вы позволите некоторым строкам превысить разумную ширину, то вы не сможете просматривать их в некоторых редакторах.

Режим auto-fill автоматизирует эту скучную задачу: когда вы перейдете далее определенной колонки, (по умолчанию 70-ая), то вы автоматически перейдете на следующую строку.

Теперь расскажем как установить этот режим, и установить ширину текста равной 80 символам:

           (setq sgml-mode-hook

                 '(lambda () "Defaults for SGML mode."

                     (auto-fill-mode)

                     (setq fill-column 80)))

Next Previous Contents