2010-05-25 69 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 -*-在文件的頂部。