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)))