2010-05-25 55 views
24

我刚才试图挽救一个简单的* .rtf文件关于如何使用emacs一些网站和技巧,我得到我应该在Emacs中使用哪种编码系统?

这些默认的编码系统是 试图在缓冲区 `笔记文本进行编码。 rtf':(iso-latin-1-dos(315. 8216)(338.8217)(1514.8220)(1525, .8221))然而,它们中的每一个都遇到了它不能的字符 encode:iso -tin-1-dos不能 编码这些:''“”
....
等等等等等

现在那是什么?现在,它要求我选择了一个编码系统

选择编码系统(默认 中国异8位):

我甚至不知道的编码系统是什么,我会而不必每次尝试保存文档时都选择一个...有没有什么办法可以设置一个可以处理所有文件的编码系统,所以我不必担心这一点?

我看到这个网站(see it here)另一个问题和asnswer别处,似乎如果我键入以下

(defun定义设置编码系统()(setq 缓冲文件coding-系统 'UTF-8-UNIX))(添加钩 ' 找到文件钩“设置编码系统)

然后我可以有Emacs的做到这一点,但我不知道...有人可以证实这一点吗?

+4

没有什么是在Emacs简单 - 这就是教训1. – harpo 2010-05-25 02:16:36

+5

公顷,我意识到这一点。当我告诉博士协调员时,我试图学习Emacs,他说:Emacs是人生的选择。我同意并说,如果我要做出人生的选择,那么现在就没有比现在更好的时间了。但是,事情非常艰难。直到昨天,我在Emacs部门找到了一个人,但不幸的是,我不能指望他(或任何人)与我坐下几个小时才能使其工作。这个网站有很大的帮助:)希望有一天,我将能够以其他人一直帮助我的方式帮助别人! – Vivi 2010-05-25 02:31:31

+3

同意 - 我为此鼓掌。我只能做出这样的评论,因为我只是做出了同样的人生选择。但我即将成为一名父亲,所以我们将看到什么优先:) – harpo 2010-05-25 02:47:26

回答

31

这里有一个非常全面的一群神奇的调用,使Emacs的使用UTF-8无处不在默认情况下,所有的字符:

(setq utf-translate-cjk-mode nil) ; disable CJK coding/encoding (Chinese/Japanese/Korean characters) 
    (set-language-environment 'utf-8) 
    (set-keyboard-coding-system 'utf-8-mac) ; For old Carbon emacs on OS X only 
    (setq locale-coding-system 'utf-8) 
    (set-default-coding-systems 'utf-8) 
    (set-terminal-coding-system 'utf-8) 
    (unless (eq system-type 'windows-nt) 
    (set-selection-coding-system 'utf-8)) 
    (prefer-coding-system 'utf-8) 
+6

在Windows上,最好避免使用'(set-selection-coding-system'utf-8)',因为它会改变Emacs中的剪贴板行为。 Windows上的'选择 - 编码 - 系统'(aka-clipboard-coding-system)应该是'utf-16-le'(默认),以便Emacs可以与其他Unicode程序协同工作。 – Rufflewind 2013-02-10 20:03:47

+0

运行在Linux VM中使用emacs并在Windows中复制文本时,except函数(两行)将使文本显示为中文...如果您将set-selection-coding-system设置为nil,则Emacs将尝试解释数据根据剪贴板上的内容而定,我认为这通常更好。 – AdamC 2015-06-22 16:13:25

6

您应该使用UTF8;它可以处理,你永远需要

+0

因此,如果我把 (defun set-coding-system()(setq buffer-file-coding-system'utf-8-unix))( add-hook'find-file-hook'set-coding-system) 在我的.emacs文件中,我的问题会解决吗? 谢谢! – Vivi 2010-05-25 02:25:35

+0

我现在甚至无法设置编码系统。当我尝试回答关于编码系统的问题时,它说:“文本是只读的”:(我从来没有像现在这样觉得电脑文盲 – Vivi 2010-05-25 02:27:59

+0

好的,我找到了一个很好的答案: 问:“如何永久选择 - > A:“选择菜单”选项‣Mule(多语言环境)‣设置语言环境“。之后,一定要拉菜单”选项‣保存选项“来保存在您的emacs init文件中设置“ Yay!谢谢 – Vivi 2010-05-25 02:47:26

0

万一它可以补充Vivi的意见西裤的回答,关于“?如何永久地选择在Emacs中打开和保存编码系统”,这里是永久选择编码系统和方法只是一个文件:在文件的最顶端 写-*- coding: NAME OF THE CODING SYSTEM -*-,在那里你必须指定'编码系统的名称'。

您可以通过键入M-x list-coding-systems <RET>找到一个编码系统的名称。有关编码系统的信息可以通过输入C-h C NAME OF THE CODING SYSTEM <RET>来获得。

所有我在这里提到Emacs的手册中解释,当然。

请注意,您可以设置模式为特定文件的方式作为编码系统相同,只是把-*- mode: NAME OF THE MODE -*-在文件的顶部。

相关问题