2010-05-25 14 views
24

acabo tratado de salvar a un simple archivo * .rtf con algunos sitios web y consejos sobre cómo usar emacs y tengo¿Qué sistema de codificación debería usar en Emacs?

Estos sistemas de codificación por defecto eran trataron de codificar texto en el búfer ` notas. rtf ': (iso-latin-1-dos (315. 8216) (338. 8217) (1514. 8220) (1525 . 8221)) Sin embargo, cada uno de ellos encontró caracteres que no pudieron codificar: iso -latin-1-dos no puede codificar estos: '' ""
....
etc, etc, etc.

¿Qué es eso? Ahora me está pidiendo que elegir un sistema de codificación

Seleccionar sistema de codificación (por defecto chino-iso-8 bits):

que ni siquiera saben lo que es un sistema de codificación, y me más bien, no tengo que elegir uno cada vez que intento guardar un documento ... ¿Hay alguna manera de configurar un sistema de codificación que funcione con todos mis archivos para que no tenga que preocuparme por esto?

vi otra pregunta y asnswer otra parte de este sitio web (see it here) y parece que si escribo el siguiente

(defun set-coding-system() (setq buffer-file-coding- sistema de 'UTF-8-Unix)) (add-hook ' 'sistema de codificación de set-find-file-hook)

entonces puede tener Emacs hacer esto, pero no estoy seguro ... ¿Alguien puede confirmar esto para mí?

+4

Nada es simple en Emacs - esa es la lección 1. – harpo

+5

ha, me doy cuenta de eso. Cuando le dije al coordinador de doctorado que estaba tratando de aprender Emacs, dijo: Emacs es una opción de vida.Estuve de acuerdo y dije que si tuviera que elegir una vida, no hay mejor momento que ahora. Pero sí, las cosas son bastante difíciles. Ayer mismo encontré a una persona en el departamento que usa Emacs, pero lamentablemente no puedo esperar que él (o alguien) se siente conmigo durante horas para que funcione. Este sitio ha sido de gran ayuda :) Espero que algún día pueda ayudar a otros de la misma manera que otros me han estado ayudando. – Vivi

+3

De acuerdo, y lo aplaudo por eso. Solo pude hacer ese comentario porque hice la misma elección de vida. Pero también estoy a punto de ser padre, así que veremos qué tiene prioridad :) – harpo

Respuesta

31

Aquí hay un grupo bastante amplio de invocaciones mágicas para hacer uso de Emacs UTF-8 en todas partes por defecto:

(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

En Windows, es mejor evitar' (set-selection-coding-system 'utf-8) 'ya que altera el comportamiento del portapapeles en Emacs. El valor correcto para 'selection-coding-system' (también conocido como' clipboard-coding-system') en Windows debe ser '' utf-16-le' (el valor predeterminado) para permitir que Emacs coopere con otros programas Unicode. – Rufflewind

+0

Ejecutar ning emacs en una VM de linux y copiando en texto de Windows, la función a menos que (dos líneas) haga que el texto aparezca en chino ... si deja set-selection-coding-system como nil, Emacs intentará interpretar el datos de acuerdo con lo que está en el portapapeles, lo cual, en general, creo que es mejor. – AdamC

6

Debe usar UTF8; se puede manejar todos los caracteres que usted necesitará siempre

+0

Así que si pongo (defun set-coding-system() (setq buffer-file-coding-system 'utf-8-unix)) (add-hook 'find-file-hook' set-coding-system) en mi archivo .emacs ¿se resolverá mi problema? Gracias! – Vivi

+0

Ni siquiera puedo configurar el sistema de codificación ahora. Cuando trato de responder la pregunta sobre el sistema de codificación dice: "el texto es de solo lectura" :(Nunca me había sentido tan analfabeto de la computadora como ahora. – Vivi

+0

OK, encontré una buena respuesta: P: "Cómo elegir permanentemente un sistema de codificación en emacs para abrir y guardar? "-> A:" Elija el menú "Opciones‣Mule (Entorno multilingüe) ‣Configure el entorno del idioma". Después de eso, asegúrese de acceder al menú "Opciones‣Guardar opciones" para guardar la configuración en su archivo de inicio de emacs. " ¡Gracias! – Vivi

0

Sólo en caso de que se pueden complementar los comentarios de VIVI Respuesta de SLacks, sobre "¿Cómo elegir permanentemente un sistema de codificación en emacs para abrir y guardar?", Aquí hay una manera de elegir el sistema de codificación de forma permanente y solo para un archivo: Escriba -*- coding: NAME OF THE CODING SYSTEM -*- en la parte superior del archivo, donde tiene que especificar 'NOMBRE DEL SISTEMA DE CODIFICACIÓN'.

Puede encontrar el nombre de un sistema de codificación escribiendo M-x list-coding-systems <RET>. Se puede obtener información sobre un sistema de codificación escribiendo C-h C NAME OF THE CODING SYSTEM <RET>.

Todo lo que menciono aquí se explica en el Manual de Emacs, por supuesto.

Tenga en cuenta que puede establecer el modo para un archivo específico de la misma manera que el sistema de codificación, simplemente ponga -*- mode: NAME OF THE MODE -*- en la parte superior del archivo.