分享
 
 
 

Emacs下的中文编辑.emacs档的设定

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

在 EMACS 的环境下要使用中文,必需先做些设定。因为,中文内码是使用 8 位元位元组,所以必需将系统所使用之位元组型式设为 8 位元,才可以在中文环境下使用 EMACS 。设定系统使其适合使用中文的环境,必需视所使用的作业系统与所使用的 Shell 的 script file 有关,现简述如下:

* 若使用 C Shell/TC Shell 时, .cshrc 的设定方式又因所用的

* UNIX 作业系统不同可分为如下二种方式,

o 使用 Sun OS 作业系统的设定

o setenv LC_CTYPE ISO_8859_1

o 使用 HP-UX 作业系统的设定

o setenv LC_CTYPE american.iso88591

o 在萤幕上显示 8 位元的中文时,设定 8 位元的方式如下:

o stty cs8 -istrip -parenb

* 若使用 Bourne Shell/Korn Shell 时, .profile 的设定方式 又因所用的 UNIX 作业系统不同可分为如下二种方式,

o 使用 Sun Solaris 作业系统的设定

o LC_CTYPE=ISO_8859_1 export LC_CTYPE

o 使用 HP-UX 作业系统的设定

o LC_CTYPE=american.iso88591 export LC_CTYPE

o 在萤幕上显示 8 位元的中文时,设定 8 位元的方式如下:

o stty cs8 -istrip -parenb

除了以上针对 Shell 的 script file 的设定外,要在 EMACS 的环境

输入与显示中文尚必需在 EMACS 的起始档 ``.emacs'' 中加入

如下的设定:

(set-input-mode (car (current-input-mode))

(nth 1 (current-input-mode))

0)

(standard-display-8bit 160 255)

虽然经由这些设定,可以使 EMACS 在中文的环境下使用,

但其处理方式还是以英文的模式来处理中文。换言之,就是将二个

byte 所组成的中文字,依然视为二个 byte 的英文字来处理。

这种处理方式,自然有其不便之处。例如,在处理换列时就会

遇到一些问题。因为 EMACS 将中文视为是二个 byte 的字元共同组合

而成。所以,当一列只剩下一个 byte 时, EMACS 会将中文切割

成二个独立的 byte 分别处理之。此时中文字的第一个 byte 会在

此列的最後一个栏位,而下一列的第一个栏位则出现此字的第二个 byte 。

所以,在 EMACS 的环境下中文字很容易被切割,而不知其为何物。

因为 EMACS 处理中文的方式与处理英文无异,所以删除一个

中文字,等於删除二个 byte 的字元(character)。换言之,

一个中文字若使用删除字元的指令 ( Ctrl-d)来删除,必需

使用两次的 Ctrl-d 才能将一个中文字删除。

因为 EMACS 在处理这些七位元之外的字型有其基本上

的问题,所以就有 Mule 的诞生。以下就介绍 Mule 的使用法。

中文化的 EMACS - Mule

Mule 是 "The MULtilingual Enhancement of GNU Emacs" 的简称,它是针对非英语系国家的使用者而设计的 EMACS。 对中文的使用者有很大的助益。 要使 EMACS 能真正的中文化,最好的方法就是安装 Mule。目前最新的 Mule 版本是 Mule 2.0 版(1994 年 8 月 6 日)。 Mule 的设计是以 EMACS 为基础。至於 EMACS 的启始档案 - ``emacs'',也就是 Mule 的启始档案。换言之,使用 Mule 不需在 ``.emacs'' 档中做任何的设定。所以 Mule 可将 EMACS 的 ``.emacs'' 档做为其启始档。若无特殊需求,也可不使用 ``.emacs'' 档。想要取得 Mule 的软体,可以 ``anonymous ftp'' 至以下几个地方取得:

etlport.etl.go.jp [192.31.197.99]: /pub/mule

ftp.mei.co.jp [132.182.49.2]: /public/free/gnu/emacs/mule

sh.wide.ad.jp [133.4.11.11]: /JAPAN/mule/mule-1.0

ftp.funet.fi [128.214.6.100]: /pub/gnu/emacs/mule

cs.huji.ac.il [132.65.16.10]: /pub/gnu/mule

前已述及 Mule 是 ``MULtilingual Enhancement to GNU Emacs''。 它不只处理七位元(7 bits)的 ASCII 字型(ASCII Characters) 以及 ISO Latin-1 的八位元字型(8bits)。它更能处理日文、中文(GB、Big5)、韩文(16 bits ,ISO2022 标准)、泰文 (TIS620)以及越文(VISCII 及 VSCII)。目前适合吾人使用的繁体中文系统是以 BIG-5 为主。 Mule 有如此多的语文可供使用,所以在一个文字档案中,使用者可以混合使用这些不同的语言。使用这些语文,只需借由 Mule 所提供的输入法,将各种不同的文字输入即可。如果是在 terminal emulator 下使用 Mule(如 cxterm、exterm 或 kterm),可使用此 emulator 所提供的输入方法。其实使用 Mule 的方法与使用 EMACS 的方法是一样的, EMACS 的指令在 Mule 中都可以使用。二者最大的差别,就是 Mule 加入了输入法的使用。欲在 EMACS 的环境下使用中文,首先要起动中文系统(例如倚天中文系统),而输入法就是使用中文系统所提供的输入法了。使用 Mule 时也是先起动中文系统(此处仍是以text-only 的终端机为讨论的重点,若使用中文的 X-window 则不需先行启动中文 系统)。,但中文的输入法,则由 Mule 来提供。换言之, Mule 有自已的中文输入法。现在就来讨论如何使用 Mule 的输入法。 要在 Mule 中可以方便的使用输入法,最好将如下的资料加入 ``.emacs'' 档中。 (set-default-file-coding-system *big5*) (set-display-coding-system *big5*) (set-file-coding-system-for-read *big5*) (quail-mode 1) (quail-use-package "zozy") 以上的资料会在使用 Emacs 时产生错误的讯息,解决的办法是将以下的资料加入% ``.emacs'' 档中。 (cond ( (boundp 'mule-version) ;; 给 mule 用的设定区 ;; mule 设定开始 (set-default-file-coding-system *big5*) (set-display-coding-system *big5*) (set-file-coding-system-for-read *big5*) (quail-mode 1) (quail-use-package "zozy") ;; mule 设定结束 ) ;; 给 emacs 用的设定区 ( t ;; emacs 设定开始 (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0) (standard-display-8bit 160 255) ) ;; emacs 设定结束 ) Mule 所提供适合中文使用的输入法有,仓颉、注音、拼音、倚天注音以及标点符号等五种。使用这些输入法的方式如下:

1. Ctrl-x - Ctrl-k - Shift-m RET

2. 连续键入 ``Ctrl-x'' ``Ctrl-k'' ``Shift-m'' 三个指令後,按下 RET, echo area 会出现 Quail Package: 此时就可键入所要使用的输入法。

3. 输入法的名称如下所示:

4.

* 仓颉:cj

* 注音:zozy

* 拼音:pinyin

* 倚天注音:etzy

* 标点符号:punct-b5

要使用任何一种输入法,只要在 echo area 处的 "Quail Package:" 後,键入所欲使用的输入法的名称即可。

5. Ctrl-] (self-insert-command)

6. 在任何一种的输入法的状态下,都可切换至英文的状态下。 只要键入 ``Ctrl-]'' 就可使中英文互换。

Mule 对使用中文的人来说,可说是中文化的 EMACS ,而 Mule

的诞生,确实给予中文的编辑者很大的方便。Mule 的使用方法,

除了输入法与 EMACS 略有不同之外,其它与 EMACS 一样。所以,

已熟悉 EMACS 的人,使用 Mule 可说是易如反掌。如果只安装 Mule

而无安装 EMACS 的系统,想要使用 EMACS ,只要进入 Mule 後

一直维持英文的状态就与使用 EMACS 一样了。

EMACS 的入门手册介绍到此,已可暂告一段落。

这并不意谓著 EMACS 的介绍已经穷尽了。其实,有关 EMACS 的

话题还有许多,这里只是环绕在编辑的层面略作解说。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有