LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: allisfree

Emacs中使用scim的问题(找到原因)

[复制链接]
发表于 2006-5-25 17:54:57 | 显示全部楼层
网上什么样的说法都有,有人说是gnome-setting-daemon,有人说是字体设置问题,也有说是locale设置,scim设置的问题。不过比较一致的是locale都是UTF-8,而且解决问题的都是重装之后莫名搞定的。

忘说了,我的sicm也是1.4.4,用fvwm。我的locale是.xinitrc是
export LANG="zh_CN.UTF-8"
LANG="zh_CN.UTF-8" scim -d
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
fvwm

下午做了个实验,发现如果先用scim -f socket -d,则scim -f x11 -d不能成功,如果先用scim -f x11 -d,则scim -f socket -d不能成功。这两者似乎不能共用,不过不管那种启动,emacs都不能用。

你上次是怎么成功使用scim的?
回复 支持 反对

使用道具 举报

发表于 2006-5-25 18:23:46 | 显示全部楼层
当时以为明白了,现在又糊涂了。一样的配置文件以前某个奇妙的时候是可以的,但后来一升级就不行了。当时用的就是UTF-8的配置,现在死活不成了,但改成GBK就可以。

只用最简单的几行:
  1. (set-language-environment 'Chinese-GB)
  2. ;;(prefer-coding-system 'utf-8)
  3. ;;(set-terminal-coding-system 'utf-8)
  4. ;;(set-keyboard-coding-system 'utf-8)
  5. ;;(setq locale-coding-system 'utf-8)
  6. (prefer-coding-system 'euc-cn)
  7. (set-terminal-coding-system 'euc-cn)
  8. (set-keyboard-coding-system 'euc-cn)
  9. (setq locale-coding-system 'euc-cn)
复制代码

启动时用这个:
LANG=zh_CN.GBK emacs

怀疑是GTK emacs在utf8系统中的bug。我试过cvs版的emacs 22,仍然不成。网上只找到有人提问,从没见有人能提出确实可行的解决方案来。奇怪,难道用emacs高手都用GBK?
回复 支持 反对

使用道具 举报

发表于 2006-5-25 18:37:56 | 显示全部楼层
这个配置是前辈们用 emacs 21 + mule-ucs 时用的,我觉得不会有什么用。我改成GBK,不用这个配置一样能启动scim。

LANG=zh_CN.GBK emacs 得到的文件都是GBK编码的,有些字打不出来,比如“镕”。
回复 支持 反对

使用道具 举报

发表于 2006-5-25 18:50:39 | 显示全部楼层
Post by whiz
这个配置是前辈们用 emacs 21 + mule-ucs 时用的,我觉得不会有什么用。我改成GBK,不用这个配置一样能启动scim。

LANG=zh_CN.GBK emacs 得到的文件都是GBK编码的,有些字打不出来,比如“镕”。

恩,我现在一直都用得好好的Debian sid+Scim+Emacs 23 + UTF-8 locale+KDE
不过,emacs 23 目前对中文的支持不是以前那样通过 mule-ucs 或者 mule-gbk 之类的来实现的,目前只支持 gb2312 编码,所以“镕”这样的GBK汉字不能正常显示应该是很正常的。
回复 支持 反对

使用道具 举报

发表于 2006-5-25 20:43:13 | 显示全部楼层
难怪呢,我说GBK怎么会没这个字。

目前为止,emacs 23在我这里总有问题,以前是table.el,现在是scim。记得emacs maillist上有位老兄抱怨说“Every time I run emacs, there might be a wired problem. I never live with it peacefully.“ 与我心有戚戚焉。
------
再加两句,突然想起来,我以前在UTF-8下是能打出“镕”的,只不过显示为方格,但粘贴到其他程序中显示正常。这里用GBK启动emacs是根本连“镕“都打不出来。还是有区别的。
回复 支持 反对

使用道具 举报

发表于 2006-5-30 18:08:27 | 显示全部楼层
Post by whiz
难怪呢,我说GBK怎么会没这个字。

目前为止,emacs 23在我这里总有问题,以前是table.el,现在是scim。记得emacs maillist上有位老兄抱怨说“Every time I run emacs, there might be a wired problem. I never live with it peacefully.“ 与我心有戚戚焉。
------
再加两句,突然想起来,我以前在UTF-8下是能打出“镕”的,只不过显示为方格,但粘贴到其他程序中显示正常。这里用GBK启动emacs是根本连“镕“都打不出来。还是有区别的。


我的emacs又不能使用scim输入了。用LC_ALL="zh_CN.GBK"启动后,可以用scim,可以显示这个“镕”字,但是不能用scim找到这个镕字,而且发现scim能够输入的汉字大大减少。
回复 支持 反对

使用道具 举报

发表于 2006-6-6 12:07:02 | 显示全部楼层
在SCIM project的devel mailing list里看到这么一段:

Problems:
=========
2) CTRL-SPACE default activator conflicts with Emacs.  Yu Shao informs me that Emacs is not popular in China, so this isn't seen as a problem there.  This however is a problem for other languages.

Solutions:
==========
2) Disable this by default if LANG != Chinese.  Configuration option to enable it globally.

中国的emacs用户是不是真的很少?

链接:http://sourceforge.net/mailarchi ... mp;viewmonth=200511
回复 支持 反对

使用道具 举报

发表于 2006-6-7 18:53:18 | 显示全部楼层
今天又试了一下,先将.xinitrc改为
export LANG="zh_CN.UTF-8"
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
fvwm
然后在没有任何配置的fvwm下,先打开一个emacs,然后启动scim
LANG="zh_CN.UTF-8" scim -d
已启动的emacs立刻自己关闭了,并显示
Fatal error (11)段错误
还意外得到一个scim的warning,说意外是因为用相同的操作从来没有什么额外信息:
(scim-panel-gtk:148t2): Gtk-Warning xx: Locale not supported by C library
      Using the fall back 'C' locale.
感觉是和gtk的locale支持有关....

本想去SCIM project的forum报告个bug,但申请的sourceforge.net的帐号总是收不到确认信,先发在这里,免得忘记了。
回复 支持 反对

使用道具 举报

发表于 2006-6-23 14:42:01 | 显示全部楼层
我无意中大概知道什么原因了。

emacs21的编译使用了gtk version 1.

安装xmms试一下,它也是gtk version 1的,如果它能正常显示中文,那么fcitx +emacs, scim +emacs都是没有问题的

怎么修改?
试试/etc/gtk/里面的配置
回复 支持 反对

使用道具 举报

发表于 2006-8-7 09:18:26 | 显示全部楼层
很难说,我曾经试过用 --without-gtk+ 编译emacs,结果还是不能用SCIM。而且以前用emac21时曾经能用SCIM,也没配置过gtk,后来重装系统了.....

感觉还是问题还是出在emacs与SCIM的冲突上。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表