Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite

Lines Club

Ищем достойных соперников.




Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

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, вы можете печатать символы с диактрическими знаками с помощью макросов. Например, клавиша é обозначена как é. В общем приложения, которым надо читать 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


    Эта статья еще не оценивалась
    Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
    Только зарегистрированные пользователи могут оценивать и комментировать статьи.

    Комментарии отсутствуют