Emacs
假如您需要以法文或其他西欧语言来写文件,您必须使用 8-bit 文字 (8-bit characters),才可显示其有重音的文字。这样的设置才可以令 Emacs 接受这些文字。
要令 Emacs 显示 8-bit 文字,您必须将下列指令加入您的 .emacs
档案:
(standard-display-european 1) (load-library "iso-syntax")
假如您在一个不支援 8-bit 的终端机上使用 Emacs,您可以使用 iso-ascii
程式库 ((load-library "iso-ascii")
),它会指令 Emacs 以最相似的形式来显示这些文字。
假如您的键盘允许您键入有重音的文字,那就没有问题,要不然也可照下列方式来补救:
Iso-acc
程式库 Emacs iso-acc
程式库可以让您使用 7-bit 的键盘键入 8-bit 的文字。
只要将下列指令加入您的 .emacs
档案:
(load-library "iso-acc")
然後在使用 Emacs 时,开启您所需要编辑的档案,键入 Meta-x iso-accents-mode
。
这样您若要键入法文 café 的 é 的话,您就可以先键入 ' 然後再键入 e
。总之,您需先键入那个文字的重音,之後再键入相对的字母(不论大写或小写)。以下是一些您可以使用的重音:
'
: Acute`
: Grave^
: Circumflex"
: Dieresis~
: Tilde, cedilla, 与其他特别的例子 (cf iso-acc.el)./
: 在一字母上加线,等等。如果您只需要这些重音符号之一,但不是相对的重音字母,那就在符号之後键入一空白键。例如,要输出 l'éléphant,就键入 l ' 空白 ' e l ' e ...
即可。
您可以在 iso-acc.el
档案内找到所有您需要的重音组合。
您可以在某些终端机上使用 Meta (或 Alt) 键来键入 8-bit 文字。例如,您可以键入 Meta-i 来输出 é 这个字。
但是就我所知, Emacs 将 Meta 键用於其他场合,其他的程式库似乎也不提供这种重音输入方式。
不过我们还是可以以下列方式来补救:
(global-set-key "\ei" '(lambda () (interactive) (insert ?\351))) _ ___
只要将上列指令加入您的 .emacs
档案内,您就可以用 Meta-i 来输出 é。您也可以重新定义您要的组合,只要您用您要的字键 (key) 取代 i,用正确的编码 (code) 取代 351,再配对起来,就可以得到您要的重音字母。您可参考 ISO-8859-1 character set 取得您要的编码。
注意! 某些 local modes 或许会重新定义您的字键组合。
使用 SGML 时,您可以利用巨集 (macros) 来输入重音文字。例如,要输入 é 就可用 é。但通常,需要读取 SGML 的应用软体都可以读取 8-bit 文字,所以一般都用不到这种巨集。或许有些软体仍然无法读取 8-bit 文字,那麽这时您就可以利用上述巨集了。
一般时候,在使用 Emacs 时,您可以利用 iso-sgml
程式库来输入重音文字。当您要将文件档案存到磁碟时,它也会帮您把 8-bit 文字转成 SGML 的格式,以方便您读取。
所以有了这个程式库,您就可以在使用 Emacs 时,轻松的输入或读取 8-bit 文字,甚至一个不接受 8-bit 文字的软体,也可以读取您编写的 8-bit 文件。
您只要将下列文字加入 .emacs
档案内,您就可以使用上述程式库:
(setq sgml-mode-hook '(lambda () "Defaults for SGML mode." (load-library "iso-sgml")))
当载入 .sgml 相关文件时, Emacs 通常会自动进入 sgml 模式。 假如没有的话,您可以键入 Meta-x sgml-mode
来驱动它进入 sgml 模式。或者将下列指令加入 .emacs
档案内来设定它自动进入:
(setq auto-mode-alist (append '(("\.sgml$" . sgml-mode)) auto-mode-alist))
在 sgml 模式下,您可以选择要如何输出 8-bit 文字。比如,使用 Meta-x sgml-name-8bit-mode
(或是选单项目上的 SGML/Toggle 8-bit insertion),您可以选择直接输出 8-bit 文字的格式,或是输出 SGML 的格式(即 &...; 格式)。
在此模式下,您也可以使用 Meta-x sgml-tags-invisible
(或是选单项目上的 SGML/Toggle Tag Visibility) 来选择是否要隐藏或显示 SGML 标签。
PSGML 模式对於在使用 Emacs 下编辑 SGML 文件很有助益。
这份文件 psgml-linuxdoc 解释了如何安装这个模式,及如何将之应用在 LinuxDoc。
在一般模式下,当您打完一个段落,您通常会键入 Return 以便换到下一行,否则您文章的段落就会相连,无法分清楚。但当您使用 Return 以便换到下一行时,您的段落的右边通常是参差不齐的。
但假如您不换到下一行而继续键入文字,在某些编辑器下,您就无法看到右边边界外的文字是什麽。
在这情形下,auto-fill 模式可以帮您改正这情况。当您键入超过预设值的第70列时,在这模式下,您就会自动换到下一行。
下列是执行 auto-fill 模式的指令,并可将一行的宽度调整为80列:
(setq sgml-mode-hook '(lambda () "Defaults for SGML mode." (auto-fill-mode) (setq fill-column 80)))