2010-05-25 27 views
24

Tôi vừa cố gắng tiết kiệm rất đơn giản file * .rtf với một số trang web và lời khuyên về cách sử dụng emacs và tôi đã nhậnTôi nên sử dụng hệ thống mã hóa nào trong Emacs?

Các hệ thống mặc định mã hóa là cố gắng để mã hóa văn bản trong bộ đệm 'ghi chú. rtf ': (iso-latin-1-dos (315. 8216) (338. 8217) (1514. 8220) (1525 . 8221)) Tuy nhiên, mỗi người trong số họ gặp phải các ký tự không thể mã hóa: iso -latin-1-dos không thể mã hóa các mã này: '' “”
....
v.v. v.v.

Bây giờ là gì? Bây giờ nó là yêu cầu tôi để chọn một hệ thống mã hóa

Chọn hệ thống mã hóa (mặc định chinese-iso-8 bit):

Tôi thậm chí không biết những gì một hệ thống mã hóa là, và tôi sẽ thay vì không phải chọn một lần mỗi khi tôi thử và lưu một tài liệu ... Có cách nào để tôi có thể thiết lập một hệ thống mã hóa sẽ hoạt động với tất cả các tệp của tôi vì vậy tôi không phải lo lắng về điều này?

tôi thấy một câu hỏi và asnswer ở đâu đó trong trang web này (see it here) và có vẻ như rằng nếu tôi gõ như sau

(defun thiết lập mã hóa hệ thống() (setq đệm-file-coding- hệ thống 'utf-8-unix)) (add-móc ' tìm-file-móc 'đặt mã hóa hệ thống)

sau đó tôi có thể có Emacs làm điều này, nhưng tôi không chắc chắn ... Ai đó có thể xác nhận điều này với tôi không?

+4

Không có gì đơn giản trong Emacs - đó là bài học 1. – harpo

+5

ha, tôi nhận ra điều đó. Khi tôi nói với điều phối viên tiến sĩ, tôi đã cố gắng tìm hiểu Emacs ông nói: Emacs là một sự lựa chọn cuộc sống.Tôi đồng ý và nói rằng nếu tôi lựa chọn cuộc sống, không có thời gian nào tốt hơn bây giờ. Nhưng vâng, mọi thứ khá khó. Chỉ ngày hôm qua tôi mới tìm thấy một người trong bộ phận sử dụng Emacs, nhưng tiếc là tôi không thể mong đợi anh ta (hoặc bất kỳ ai) ngồi xuống với tôi hàng giờ để nó hoạt động. Trang web này đã được một sự trợ giúp tuyệt vời :) Hy vọng một ngày nào đó tôi sẽ có thể giúp đỡ những người khác giống như cách những người khác đã giúp tôi! – Vivi

+3

Đồng ý - và tôi hoan nghênh bạn vì điều đó. Tôi chỉ có thể đưa ra nhận xét đó bởi vì tôi đã thực hiện cùng một lựa chọn cuộc sống. Nhưng tôi sắp trở thành một người cha, vì vậy chúng ta sẽ thấy những gì được ưu tiên :) – harpo

Trả lời

31

Dưới đây là một nhóm khá toàn diện về lời gọi kỳ diệu để làm cho Emacs sử dụng UTF-8 ở khắp mọi nơi theo mặc định:

(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

Trên Windows, tốt nhất là tránh' (set-selection-coding-system 'utf-8) 'vì nó thay đổi hành vi clipboard trong Emacs. 'selection-coding-system' (còn gọi là' clipboard-coding-system') trên Windows phải là ''utf-16-le' (mặc định) để cho phép Emacs hợp tác với các chương trình Unicode khác. – Rufflewind

+0

Run ning emacs trong một máy ảo Linux và sao chép trong văn bản từ Windows, chức năng trừ (hai dòng) sẽ làm cho văn bản xuất hiện dưới dạng tiếng Trung ... nếu bạn để hệ thống mã hóa lựa chọn là nil, Emacs sẽ cố gắng giải thích dữ liệu theo những gì có trong clipboard, mà tôi nghĩ là tốt hơn. – AdamC

6

Bạn nên sử dụng UTF8; nó có thể xử lý tất cả các nhân vật mà bạn từng cần

+0

Vì vậy, nếu tôi đặt (defun set-coding-system() (setq buffer-file-coding-system 'utf-8-unix)) (add-hook 'find-file-hook' set-coding-system) trong tập tin .emacs của tôi sẽ giải quyết được vấn đề của tôi? Cảm ơn! – Vivi

+0

Tôi thậm chí không thể thiết lập hệ thống mã hóa ngay bây giờ. Khi tôi cố gắng trả lời câu hỏi về hệ thống mã hóa, nó nói: "văn bản chỉ đọc": (Tôi chưa bao giờ cảm thấy bị mù chữ như bây giờ. – Vivi

+0

OK, tôi tìm thấy câu trả lời hay: Hỏi: "Cách chọn vĩnh viễn hệ thống mã hóa trong emacs để mở và tiết kiệm? "-> A:" Chọn menu "Options‣Mule (Môi trường đa ngôn ngữ) ‣Thiết lập môi trường ngôn ngữ". Sau đó, hãy chắc chắn kéo menu "Options‣Save Options" để lưu các thiết lập trong tập tin init emacs của bạn. " Yay! Cảm ơn – Vivi

0

Chỉ trong trường hợp nó có thể bổ sung cho ý kiến ​​của Vivi trên Câu trả lời của SLacks, về "Cách chọn vĩnh viễn hệ thống mã hóa trong các emacs để mở và lưu?", Đây là cách để chọn hệ thống mã hóa vĩnh viễn và chỉ cho một tệp: Viết -*- coding: NAME OF THE CODING SYSTEM -*- ở đầu tệp, nơi bạn phải chỉ định 'NAME OF THE CODING SYSTEM'.

Bạn có thể tìm tên của hệ thống mã hóa bằng cách nhập M-x list-coding-systems <RET>. Thông tin về một hệ thống mã hóa có thể được lấy bằng cách gõ C-h C NAME OF THE CODING SYSTEM <RET>.

Tất cả những gì tôi đề cập ở đây được giải thích trong sách hướng dẫn Emacs, tất nhiên.

Lưu ý rằng bạn có thể đặt chế độ cho một tệp cụ thể theo cách tương tự như hệ thống mã hóa, chỉ cần đặt -*- mode: NAME OF THE MODE -*- ở đầu tệp.

Các vấn đề liên quan