下一页 上一页 目录

4. 配置 Emacs

4.1 带重音的字符

如果您想用法语或任何其他西欧语言编写文档,您将需要 8 位字符。以下是如何设置 Emacs 以使其接受此类字符。

8 位字符的显示

要让 Emacs 显示 8 位字符,您需要在您的 .emacs 文件中添加以下行

       (standard-display-european 1)
       (load-library "iso-syntax")
       

如果您在不支持 8 位字符的终端上使用 Emacs,您可以使用 iso-ascii 库 ((load-library "iso-ascii")),它会告诉 Emacs 以其最佳近似值显示此类字符。

8 位字符的输入

如果您的键盘允许您输入带重音的字符,则没问题。如果不是,这里有一些补救措施

iso-acc

Emacs iso-acc 库将允许您从 7 位键盘输入 8 位字符。

要使用它,请在您的 .emacs 文件中插入以下内容

      (load-library "iso-acc")
      

然后,在运行 Emacs 并打开您需要编辑的文件后,键入 Meta-x iso-accents-mode

然后,您可以通过键入 ' 然后 e 来输入法语单词 caféé。更一般地,您将通过先键入重音符号,然后键入要重音的字母(大写或小写)来键入带重音的字符。以下是您可以使用的重音符号

  • ' :锐音符
  • ` :钝音符
  • ^ :抑扬符
  • " :分音符
  • ~ :波浪号、软音符以及其他特殊情况(参见 iso-acc.el)。
  • / :用于划掉字母等。
  • 如果您需要这些字符之一而不是带重音的字母,请在其旁边键入一个空格。例如,要键入 l'éléphant,请键入 l ' spc ' e l ' e ...

    您将在 iso-acc.el 文件中找到所有可能的组合。

    Meta 键

    某些终端允许您使用 Meta(或 Alt)键输入 8 位字符。例如,按 Meta-i 将得到 é 字符。

    但是 Emacs 保留了 Meta 键用于其他用途,而且据我所知,没有哪个库允许您将其用于带重音的字符。

    这是一个解决方案

          (global-set-key "\ei" '(lambda () (interactive) (insert ?\351)))
                             _                                      ___
          
    

    这样一行代码,如果插入到您的 .emacs 文件中,将允许您使用 Meta-i 组合键输入 é。如果您用正确的键替换 i 并用正确的代码(代码取自 ISO-8859-1 字符集)替换 351,您可以以这种方式重新定义您需要的组合。

    警告! 某些局部模式可能会重新定义此类组合键。

    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/切换 8 位插入),您可以选择按原样键入 8 位字符,或者以 SGML 形式键入,即以 &...; 形式。

    它还可以让您隐藏或显示 SGML 标签,使用 Meta-x sgml-tags-invisible(或菜单项 SGML/切换标签可见性)。

    4.3 PSGML 模式

    PSGML 模式对于使用 Emacs 编辑 SGML 文档非常有帮助。

    psgml-linuxdoc 文档解释了如何安装此模式并将其与 LinuxDoc 一起使用。

    4.4 其他

    自动填充模式

    在正常模式下,当您键入一个段落并到达行尾时,您必须自己使用 Return 键才能转到下一行,否则您的行将贯穿整个段落。当您使用 Return 键转到下一行时,您会得到一个右边距不齐的段落。

    如果您让某些行超出合理的宽度,您将无法在某些编辑器中看到它们。

    自动填充 模式自动化了这个枯燥的任务:当您超过某个列(默认为第 70 列)时,您会自动转到下一行。

    这就是如何使用此模式,并将您的行宽设置为 80

           (setq sgml-mode-hook
                 '(lambda () "Defaults for SGML mode."
                     (auto-fill-mode)       
                     (setq fill-column 80)))
           
    


    下一页 上一页 目录