LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1541|回复: 18

[求问]emacs 23的coding system设置(partly solved)

[复制链接]
发表于 2006-4-27 16:04:32 | 显示全部楼层 |阅读模式
不好意思,再问个困扰很久的问题。

我的emacs 23的coding system设置为:

  1. (set-language-environment "UTF-8")
  2. (setq locale-coding-system 'utf-8)
  3. (set-terminal-coding-system 'utf-8)
  4. (set-selection-coding-system 'utf-8)
复制代码


这样设置后,能从其他应用程序,比如firefox中拷贝到emacs,却没法从emacs拷贝文字到firefox(我是用M-w拷贝的,不知是不是操作错误)。

另外,从firefox拷贝到emacs时还出现奇怪的问题,同一页面中,有些可以,有些不行,再贴个附图说明一下。

我查过这两段文字的coding system,上面的被emacs识别为ascii,下面的识别为utf-8。

再问个无关的问题,emerge app-emacs/sematic后,为什么会出现~/sematic.cache这个文件,能不能换成隐藏文件?

本帖子中包含更多资源

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

x
发表于 2006-4-29 10:44:46 | 显示全部楼层
1. 要用
m-x clipboard-kill-ring-save
用m-w没用的
2. 或许可以试试set-clipboard-coding-system
3. 没用过. 不过估计有相关变量. 试试m-x set-variable <enter> semantic-<space>
然后看有没有相关变量
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-29 13:30:09 | 显示全部楼层
谢谢galilette,被emacs的coding system弄的非常郁闷,看来cvs确实不稳定。

1. M-x clipboard-kill-ring-save 没试成功,发现直接用鼠标点菜单里的<copy>就可以了,不过感觉不像在用emacs,居然要用鼠标点点点,有没有办法查看菜单里选项的命令?

2. 试过set-clipboard-coding-system了,能稳定地将所有拷贝信息变成乱码,不再是有些正常,有些乱码了,呵呵。

3. 用你的方法会出来20个左右的选择,一下子就蒙了,不敢乱改...

再问个问题,每次启动emacs后,Messages中总会出现下面的信息,是什么意思?(我的系统应该是UTF-8)。
Warning: Default coding system `chinese-iso-8bit' disagrees with
system codeset `UTF-8' for this locale.
....
map-char-table: Wrong type argument: integerp, (127 . 127)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-29 16:59:58 | 显示全部楼层
Warning: Default coding system `chinese-iso-8bit' disagrees with
system codeset `UTF-8' for this locale.

这个问题解决了,将系统设置为zh_CN.UTF-8就不再有这个提示了,但是“镕”显示的仍然是方框。我用的字体是wenquanyi,在termianl下面用同样的字体,就能显示“镕”,查看emacs中能显示的字的字体,显示使用了wenquanyi,所以估计不是字体的问题。
回复 支持 反对

使用道具 举报

发表于 2006-5-1 23:00:38 | 显示全部楼层
emacs 23对中文支持还好吧,我都没有去改什么coding,越改越麻烦,我的直接M-w可以复制,到其他程序里面用鼠标中键粘贴,其他程序复制到Emacs中也是选中,直接用鼠标中键粘贴,很正常。字体的问题,好像现在emacs只支持gb2312,所以那个典型的gbk汉字无法显示。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-2 18:57:13 | 显示全部楼层
原来是用中键...谢谢
回复 支持 反对

使用道具 举报

发表于 2006-5-2 22:36:33 | 显示全部楼层
比较烦的是粘贴到Emacs里面的时候中键容易点错位置,只要加上
  1. (setq mouse-yank-at-point t)
复制代码
就可以让Emacs在光标出粘贴,而不管你是在buffer的哪个位置点击中键的了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-3 09:22:41 | 显示全部楼层
粘贴到emacs中是没有问题的,C-y总是有效的,问题是拷贝emacs的信息到其他应用程序。
linux的clipboard的逻辑是怎样的? firefox和openoffic是可以用C-c和C-v的,而urxvt、xterm和emacs却必须用鼠标中键,有没有协调clipboard的方法?
回复 支持 反对

使用道具 举报

发表于 2006-5-3 10:02:41 | 显示全部楼层
可以用klipper程序来协调,就是同步选中区域和剪切板。但是这样通常不太好,因为一旦选中一段文字,就会覆盖掉剪切板,不过klipper程序就是用来存储多个剪切板历史用的。
而且,你在任何X下面的程序里面都可以用选中,中键粘贴的办法,事实上,这应该是很元老级别的做法了吧,而且也是很方便的,具体我也不清楚,不过我猜测有可能Ctrl+C, Ctrl+v这些做法是后来引进的。但是他们显然和Emacs以及shell等快捷键冲突嘛,所以还是中键好。
回复 支持 反对

使用道具 举报

发表于 2006-5-3 10:06:20 | 显示全部楼层
this is the so called `selection' mechanism of X. check out the following link if you are interested.
http://www.freedesktop.org/wiki/Standards_2fClipboardsWiki
回复 支持 反对

使用道具 举报

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

本版积分规则

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