LinuxSir.cn,穿越时空的Linuxsir!

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

X Window System 和 Emacs 有关的一个小技巧

[复制链接]
 楼主| 发表于 2005-10-31 18:39:48 | 显示全部楼层
1. “永久使用”是没有问题的。Emacs 会在启动时读取 .emacs 文件。如果在那行代码之前的程序没有错误的话,就可以使 Emacs 使用 chinese-iso-8bit 作为首选编码。

2. 如果打开的文件中有乱码,可以试试 C-x <Enter> c,输入希望的编码,Emacs 会提示用这个编码执行的命令。输入 M-x revert-buffer <Enter> 就可以用那个编码重新打开文件。

3. 详细信息可以参考 C-h i memacs <Enter> minternational <Enter>。
回复 支持 反对

使用道具 举报

发表于 2005-10-31 21:42:56 | 显示全部楼层
Post by herberteuler
说说进行到哪里了吧

就是我在Emacs里面已经有中文了,UTF8格式的中文文件,能“正常”显示,只是字体一个大一个小的,但是我按M-x describe-fontset<Enter>后他说Current frame is using font, not fontset.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-31 23:05:24 | 显示全部楼层
你可以先用 xfontsel 找一个你喜欢的字体,然后把它写到 .Xresources 中,就像第 1 贴那样。然后,用 xrdb -merge .Xresources 写入修改,并重新打开 Emacs。这时用 Shift + 鼠标左键就可以找到你自定义的 Fontset,选择它,并使用 M-x describe-fontset 查看 Emacs 最终选择的字体。这样就可以用 xfd 来微调了。总的思路就是先确定大概的范围,然后逐渐使这个结果接近所需要的。
回复 支持 反对

使用道具 举报

发表于 2005-11-1 16:42:42 | 显示全部楼层
Post by herberteuler
1. “永久使用”是没有问题的。Emacs 会在启动时读取 .emacs 文件。如果在那行代码之前的程序没有错误的话,就可以使 Emacs 使用 chinese-iso-8bit 作为首选编码。

2. 如果打开的文件中有乱码,可以试试 C-x <Enter> c,输入希望的编码,Emacs 会提示用这个编码执行的命令。输入 M-x revert-buffer <Enter> 就可以用那个编码重新打开文件。

3. 详细信息可以参考 C-h i memacs <Enter> minternational <Enter>。

可以呀,浏览不成问题。但我在C-f进行单个浏览时,还是显示乱码,这怎么解决呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-1 17:01:56 | 显示全部楼层
Post by mylynx
可以呀,浏览不成问题。但我在C-f进行单个浏览时,还是显示乱码,这怎么解决呢?

是不是每次前进半个汉字的长度?
回复 支持 反对

使用道具 举报

发表于 2005-11-1 17:51:56 | 显示全部楼层
Post by herberteuler
是不是每次前进半个汉字的长度?

是呀。在前进后就有乱码了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-1 18:31:02 | 显示全部楼层
Post by mylynx
是呀。在前进后就有乱码了。

你用的是不是 Emacs 21 啊。打开那个文件,左下角应该不是 -c,而是 -J 或者其他什么的。这就是说 Emacs 并没有将这些文件作为宽字符解释。在那个 Buffer 里按 C-h C <Enter> (注意大小写)就可以发现编码并不是 chinese-iso-8bit 之类的。具体的原因我也不清楚,而且我这里也是这样,但 Emacs 22 里没有这个问题。不过,如果它显示的是乱码,只要按一下 C-l (是 L 而不是 1)就可以重新显示为汉字了。
回复 支持 反对

使用道具 举报

发表于 2005-11-1 22:27:54 | 显示全部楼层
Post by herberteuler
你用的是不是 Emacs 21 啊。打开那个文件,左下角应该不是 -c,而是 -J 或者其他什么的。这就是说 Emacs 并没有将这些文件作为宽字符解释。在那个 Buffer 里按 C-h C <Enter> (注意大小写)就可以发现编码并不是 chinese-iso-8bit 之类的。具体的原因我也不清楚,而且我这里也是这样,但 Emacs 22 里没有这个问题。不过,如果它显示的是乱码,只要按一下 C-l (是 L 而不是 1)就可以重新显示为汉字了。


我用的是NTEMACS21。3。1的版本,在浏览文件时就会出现这种问题。另外,在RH9下就没有这种问题。我直接用emacs-mule方式保存的。所以在换过平台之后,在EMACS工作环境下就可以打开以emacs-mule编码保存的文件。为什么在EMACS环境下通过其他编码方式保存的文件打开时就有乱码显示呢?
回复 支持 反对

使用道具 举报

发表于 2005-11-2 08:07:55 | 显示全部楼层
请问,我到底该如何设置,我的locale是Utf8的,我不想改。
目前Emacs看起来是这样:(见图)
但是可以设置fontset为(用Shift+左键)standard : 16-dot medium
就变成这样:(见图)
后面一种免强可以接受一点,但是太大了,我想知道是怎么调小一点。
M-x describe-fontset得到:
Fontset: -*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard
CHARSET or CHAR RANGE        FONT NAME
---------------------        ---------
ascii                        -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
     [-Sony-Fixed-Bold-R-Normal--16-120-100-100-C-80-ISO8859-1]
     [-Sony-Fixed-Medium-R-Normal--16-120-100-100-C-80-ISO8859-1]
latin-iso8859-1                -sony-fixed-*-iso8859-1
latin-iso8859-2                -*-iso8859-2
latin-iso8859-3                -*-iso8859-3
latin-iso8859-4                -*-iso8859-4
thai-tis620                -*-*-*-tis620-*
greek-iso8859-7                -*-*-*-iso8859-7
arabic-iso8859-6        -*-*-*-iso8859-6
hebrew-iso8859-8        -*-*-*-iso8859-8
katakana-jisx0201        -*-*-*-jisx0201-*
latin-jisx0201                -*-jisx0201-*
cyrillic-iso8859-5        -*-*-*-iso8859-5
latin-iso8859-9                -*-iso8859-9
latin-iso8859-15        -*-iso8859-15
latin-iso8859-14        -*-iso8859-14
japanese-jisx0208-1978        -*-*-*-jisx0208.1978-*
chinese-gb2312                -*-medium-r-normal-*-16-*-gb2312*-*
     [-ISAS-Fangsong ti-Medium-R-Normal--16-160-72-72-c-160-GB2312.1980-0]
japanese-jisx0208        -*-*-*-jisx0208.1990-*
     [-Misc-Fixed-Medium-R-Normal--16-150-75-75-C-160-JISX0208.1990-0]
korean-ksc5601                -*-medium-r-normal-*-16-*-ksc5601*-*
japanese-jisx0212        -*-*-*-jisx0212-*
     [-Misc-Fixed-Medium-R-Normal--16-150-75-75-C-160-JISX0212.1990-0]
chinese-cns11643-1        -*-medium-r-normal-*-16-*-cns11643*-1
chinese-cns11643-2        -*-medium-r-normal-*-16-*-cns11643*-2
japanese-jisx0213-1        -*-*-*-jisx0213.2000-1
chinese-big5-1                -*-*-*-big5-*
chinese-big5-2                -*-*-*-big5-*
chinese-sisheng                -*-sisheng_cwnn-*
ipa                        -*-muleipa-*
vietnamese-viscii-lower        -*-viscii1.1-*
vietnamese-viscii-upper        -*-viscii1.1-*
arabic-digit                -*-*-*-mulearabic-0
arabic-1-column                -*-*-*-mulearabic-1
ascii-right-to-left        -*-iso8859-1
lao                        -*-*-*-mulelao-1
arabic-2-column                -*-*-*-mulearabic-2
indian-is13194                -*-*-*-is13194-devanagari
indian-1-column                -*-*-*-muleindian-1
tibetan-1-column        -*-*-*-muletibetan-1
mule-unicode-2500-33ff        -*-iso10646-1
mule-unicode-e000-ffff        -*-iso10646-1
mule-unicode-0100-24ff        -*-iso10646-1
ethiopic                -*-*-*-ethiopic-unicode
chinese-cns11643-3        -*-medium-r-normal-*-16-*-cns11643*-3
chinese-cns11643-4        -*-medium-r-normal-*-16-*-cns11643*-4
chinese-cns11643-5        -*-medium-r-normal-*-16-*-cns11643*-5
chinese-cns11643-6        -*-medium-r-normal-*-16-*-cns11643*-6
chinese-cns11643-7        -*-medium-r-normal-*-16-*-cns11643*-7
indian-2-column                -*-*-*-muleindian-2
tibetan                        -*-proportional-*-muletibetan-2
japanese-jisx0213-2        -*-*-*-jisx0213.2000-2

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-2 10:05:25 | 显示全部楼层
Post by mylynx

我用的是NTEMACS21。3。1的版本,在浏览文件时就会出现这种问题。另外,在RH9下就没有这种问题。我直接用emacs-mule方式保存的。所以在换过平台之后,在EMACS工作环境下就可以打开以emacs-mule编码保存的文件。为什么在EMACS环境下通过其他编码方式保存的文件打开时就有乱码显示呢?

Sorry,这个我也不是很清楚。也许你可以在 Emacs 中用其他的编码打开试一下。
回复 支持 反对

使用道具 举报

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

本版积分规则

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