emacs 中文设置与输入法安装

                                                                         emacs 中文设置与输入法安装


Emacs 下处理中文
http://www.emacs.cn/Main/Chinese
Emacs 本身可以支持多种语言。对于中文,

Emacs 21 可以使用 gb2312,

Emacs 22 增加了 UTF8 编码的支持,

而 Emacs 23 还可以使用 gbk。           
           
字体
为了在 Emacs 中能正确显示中文,需要选择和设置中文字体。如果 Emacs 运行在 X
下,可以使用 .Xdefault 进行配置,也可以写到 .emacs 里面。


下面的例子是 .emacs 里配置字体的方法:

(create-fontset-from-fontset-spec
"-misc-fixed-medium-r-*-*-16-*-*-*-c-*-fontset-global,
  chinese-gb2312:-*-*-medium-r-normal-*-16-*-*-*-*-*-gb2312.1980-*")
(setq default-frame-alist
      (append '((font . "fontset-global")) default-frame-alist))


输入法
Emacs 本身内含了多种中文输入法,当然你也可以使用 X 下的通用输入法。但是无论使
用哪种输入法,都需要先在 .emacs 里面将 Emacs 的语言环境设置成中文:

(set-language-environment 'Chinese-GB)
(set-keyboard-coding-system 'euc-cn)
(set-clipboard-coding-system 'euc-cn)
(set-terminal-coding-system 'euc-cn)
(set-buffer-file-coding-system 'euc-cn)
(set-selection-coding-system 'euc-cn)
(prefer-coding-system 'euc-cn)
(setq default-process-coding-system 'euc-cn)
(setq-default pathname-coding-system 'euc-cn)
使用内置的输入法时,默认快捷键 "C-/" (toggle-input-method) 即可激活,中文环境下默
认的输入法是 chinese-py。如果要使用其他内含的输入法,可以通过 M-x
set-input-method 命令选择。
使用外部的输入法,只需你的 X locale 设置正确,比如设为 LC_ALL=zh_CN.eucCN,
在 Emacs 中就能像其他 X 程序一样正确使用。


相关链接:
 

 EMACS下的五笔字型输入法
                        http://www.daiyuwen.freeshell.org/gb/wubi/wubi.html
编码识别
中文用户最头疼的问题就是乱码(其实其他非英语语言也一样)。乱码的原因基本上就是两个:字体和编码。东亚语言的编码系统尤其复杂,和汉语相关的就有

gbk,

gb18030,

big5,

euc-tw,

utf-8,

utf-16le,

utf-16be

等多种。

编码问题不应该让用户来操心,而应该由编辑器、浏览器自行解决。
Unicad就是就是基于这种想法设计的。Unicad 可以帮助 Emacs 猜测正确的编码,并且在打开文件的时候自动应用,完全不需要用户操心,而且编码识别的正确率非常高,适用的语言包括中文,日文,韩文,希腊语,俄语,保加 利亚语,西欧语言,中欧语言。
Unicad 的安装也非常简单,只要
http://co
de.google.com/p/unicad/downloads/list下载最新版本的 unicad.el
,复制到 load-path 中(比如 site-lisp 目录),然后在 ~/.emacs 里面加上下面这句:

(require 'unicad)


Unicad 在 Google Co
de 上的项目地址:
[url=http://co
de.google.com/p/unicad/]http://co de.google.com/p/unicad/[/url]
EMACS下的五笔字型输入法
[url=http://daiyuwen.freeshell.org/gb/wubi/wubi.html#intro]简介[/url]
[url=http://daiyuwen.freeshell.org/gb/wubi/wubi.html#download]下载[/url]
[url=http://daiyuwen.freeshell.org/gb/wubi/wubi.html#setup]安装和设置[/url]
[url=http://daiyuwen.freeshell.org/gb/wubi/wubi.html#usage]使用方法[/url]
[url=http://daiyuwen.freeshell.org/gb/wubi/wubi.html#help]我需要您的支持[/url]
[url=http://daiyuwen.freeshell.org/gb/wubi/wubi.html#plan]将来的计划[/url]
[url=http://daiyuwen.freeshell.org/gb/wubi/wubi.html#address]与我联系[/url]


                                                   简介
本软件是自由软件,按GPL发布。
2000年,我在陈向阳、方汉写的《Linux实用大全》上看到了如何为emacs添加输
入法的介绍。于是依葫芦画瓢,写了emacs的五笔字型输入法。最初的汉字
与五笔码的对应表是从cxterm下的五笔字型输入法里取来的(经过了格式转换)。
但是这样的输入法是建立在emacs的Quail的基础上的,没有办法方便地增加词组。
我写了一个简单的Perl程序,把积累起来的词组写入Wubi.el。但还是不能在输
入的过程中动态地添加词组;而且要用一种“外部”的语言来生成Lisp文件,有
损Lisp的威名。这个问题一直困扰着我,直到我学习了Lisp,写了
这个emacs下的五笔字型输入法。
本输入法是emacs下的五笔字型输入法,支持的字符集是GB2312,编码方式是
EUC-CN。可以在以下一些版本里运行:
[*] Emacs 20.x for Linux
[*] Emacs 21.x for Linux
[*] Emacs 20.x for Windows
[*] Emacs 21.x for Windows


其它版本并不是说不能用,只是因为我只试了这几个版本。我估计只要是20
版以上的emacs(包括xemacs)都可以使用,因为本输入法是建在MULE的基础上
的,没有用到emacs的其它特性。如果您在其它的emacs版本上成功使用了本输入
法,请告诉我,我把它添加到上面的名单里去。


                                               下载
请从此处http://daiyuwen.freeshell.org/gb/wubi/wubi.tar.gz下载五笔字型输入法。


                                         安装和设置
本软件可以安装在任何您有权安装的目录里。下载之后,请在shell里执行
以下命令:
$ tar -C  -zxf wubi.tar.gz
其中是目标目录。 有五个文件将会出现在
/wubi目录里:WuBi.el[c]和WuBi_rules.el[c],以及update.el。el结
尾的是Emacs Lisp源文件,elc结尾的是编译后的二进制文件。
然后在您的emacs初始化文件~/.emacs里增加如下的语句(请用实际目录代替
):
(add-to-list 'load-path "/wubi")
(require 'wubi)
(wubi-load-local-phrases) ; add user's Wubi phrases
(register-input-method
"chinese-wubi" "Chinese-GB" 'quail-use-package
"WuBi" "WuBi"
"wubi")
(if (
这几句Lisp代码的作用是设置中文环境、注册五笔字型输入法。保存.emacs后请
重新启动emacs,使得上面的设置生效。现在您可以用快捷键C-/ (同时按住
Ctrl和反斜线键)唤出五笔字型输入法了。在emacs的mode line上会出现“五笔
字型”的字样。

再次用C-/可以关闭输入法。用命令M-x customize-group wubi可以定制词组
文件的名字:
[img]http://daiyuwen.freeshell.org/gb/wubi/customize.png[/img]

WuBi Phrases File指定存放用户自定义词组的文件。WuBi Phrases File El
是增加词组的lisp代码。这两个文件都由输入法自动生成,用户只要指定它们的位
置就可以了。它们的默认值分别是 ~/wubi-phrased.txt 和~/wubi-phrased.el。
                                             使用方法
                                                            五笔输入
如果一个五笔码有一个以上候选词,您可以用空格键来选取当前高亮显示的那个;
也可以用数字键或箭头键来选取其它的词。以后这个词就会优先出现,用空格就可以选取
了。
如果您只知道一个字或词组的前几个五笔编码,可以用TAB键来列出所有可能的
候选者,类似标准五笔字型的z键。如图:
[img]http://daiyuwen.freeshell.org/gb/wubi/completion.png[/img]

本输入法没有按拼音查五笔编码的功能。
增加和删除词组
词组输入是五笔字型的优势。您可以用命令add-wubi增加词组。也就是说,M-x
后面跟add-wubi。如果词库中已经有了您所加的词组,add-wubi不会再次增加该
词组。加完之后你就立即可以用五笔字型的词组输入法来输入这个词组了。
(add-wubi还有一个作用:把您增加的词组保存在您定制的Wubi Phrase File里。
积累到一定数量后,大家可以交换这个文件,以丰富彼此的词组。)
用命令del-wubi可以删除一个词组。不过有个限制:如果这个词组是它的五笔码
的唯一候选者,就不能删除它。
保存词库
用add-wubi增加的词组只在内存中存在,如果您重启emacs,这些词组又会不见
的。您可以用命令save-wubi-rules-default把修改后的词库保存到磁盘文件里。
该命令会重写和编译WuBi_rules.el,然后重载WuBi_rules.elc,因此要花一些
时间。
-->
全角和半角的切换
您可以用命令toggle-quanjiao切换全角和半角。在全角状态下,标点符号是与
汉字等宽的。这是键盘上的键与中文符号的对应表:
键盘上的键中文符号
/、
,,
.。
::
;;
??
《 〈
>》 〉
[[ 【〖
]] 】〗
/…
-- —
((
))
!!

'‘ ’
"“ ”
                                                中文特殊符号
GB2312字符集还定义了一些特殊符号,您可以用命令show-fuhao-table来显示所
有的符号,然后可以把您需要的符号复制到文本里去。
[img]http://daiyuwen.freeshell.org/gb/wubi/fuhao.png[/img]


                                                    设置快捷键
我们经常用到add-wubi,del-wubi等命令,可以为它们设置快捷键,emacs里的
术语叫做key binding。您可以按照自己的习惯,为这些命令设置快捷键。例如,
我用Ctrl-+来唤出add-wubi、Ctrl--来唤出del-wubi,在~/.emacs里,增加如下
两句:
;;; key bindings of WuBi
(global-set-key [?/C-+] 'add-wubi)
(global-set-key [?/C--] 'del-wubi)
;;; save and compile WuBi_rules.el when exiting emacs
(add-hook 'kill-emacs-hook 'save-wubi-rules-default)
不过上面把save-wubi-rules-default加到kill-emacs-hook里的做法有点小
问题:如果您在使用emacs的时候一次也没有用C-/调出五笔字型,就退不出
emacs了,因为save-wubi-rules-default的值为空。这时可以马上用C-/调出五
笔字型输入法,然后关闭emacs。因为您没有增删任何词组,
save-wubi-rules-default其实不会做什么事情。
-->
                                       批量增加词组
如果您手头有许多词组,可以把它们放在您定制的Wubi Phrase File里,.
emacs里的(wubi-load-local-phrases)命令会把词组加入词库。
把词组真正加入到输入法里
用户增加的词组保存在一个单独的文件里(即用户指定的Wubi Phrase File),
在emacs启动的时候动态地增加到五笔字型词库里去。因此在一个多用户的环境
里,每个用户有自己不同的词组文件。为了把用户的词组真正加入到输入法里,
让每个用户都能分享别人的词组,必须更新安装目录里的wubi-rules.el。如果
安装在系统目录里,只能由管理员来更新了。他不必懂emacs或lisp,只要这样
做就行:
# cp 五笔字型词组文件 五笔字型安装目录/wubi-phrases.txt
# emacs --batch -l update.el
wubi-rules.el被更新,加入的词组对所有用户都有效了。
我需要您的支持
您可以提供的帮助有:
使用和宣传此输入法
如果此输入法能对您有所益处,我会很高兴。希望您能向您的朋友们介绍它。
报告错误或提出建议
如果您在输入法里发现了什么错误(bug),尽管向我提出,我会尽快改正的。如果您有
什么建议,请告诉我。
贡献词组
如果您积累了一些词组,愿意与大家分享,可以把词组文件寄给我,我将把它们加入
到词库中去,并更新版本。词组文件的格式很自由,只要词组之间有分隔就行了,
当然最好是一行一个词组,没有其它字符。您也可以直接把~/quail/phrases.txt寄给我。
参与开发
如果您了解Emacs Lisp,欢迎参与开发!
将来的计划
我的目标是把此输入法做成收词最全的五笔字型输入法,实现模块化、分类化。
也就是说,一类词组单独做成一个模块,在您需要的时候才加载,比如:计算机
类词组,化工类词组,医学类词组等等。
引入其它常用的输入法。
利用获得的庞大词库,衍生出其它项目。
进入Emacs的官方版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值