2010-05-25 12 views
24

ho appena cercato di salvare un semplice file * .rtf con alcuni siti web e suggerimenti su come utilizzare emacs e ho avutoQuale sistema di codifica dovrei usare in Emacs?

Questi sistemi predefiniti di codifica erano cercato di codificare il testo nel buffer `note. rtf ': (iso-latin-1-dos (315. 8216) (338.8217) (1514. 8220) (1525 .8221)) Tuttavia, ognuno di essi ha incontrato caratteri che non poteva codificare : iso -latin-1-dos non può codificare codifica: '' ""
....
ecc, ecc, ecc

Ora che cos'è? Ora mi sta chiedendo di scegliere un sistema di codifica

Seleziona sistema di codifica (default chinese-iso-8bit):

io non so nemmeno che cosa un sistema di codifica è, e vorrei preferisco non sceglierne una ogni volta che provo a salvare un documento ... C'è un modo per impostare un sistema di codifica che funzioni con tutti i miei file quindi non devo preoccuparmi di questo?

vidi un altro domanda e asnswer altrove in questo sito (see it here) e sembra che se digito il seguente

(defun set-codifica-system() (setq di buffer-file-coding- sistema 'utf-8-unix)) (add-hook ' trovare file-hook 'set-codifica-system)

allora posso avere Emacs fare questo, ma non sono sicuro ... Qualcuno può confermarmelo?

+4

Non c'è niente di semplice in Emacs - questa è la lezione 1. – harpo

+5

ha, me ne rendo conto. Quando ho detto al coordinatore del dottorato di ricerca che stavo cercando di imparare Emacs, ha detto: Emacs è una scelta di vita.Sono d'accordo e ho detto che se devo fare una scelta di vita, non c'è tempo migliore di adesso. Ma sì, le cose sono piuttosto difficili. Solo ieri ho trovato una persona del dipartimento che utilizza Emacs, ma sfortunatamente non posso aspettarmi che lui (o qualcuno) si sieda con me per ore per farlo funzionare. Questo sito è stato di grande aiuto :) Speriamo che un giorno io possa aiutare gli altri nello stesso modo in cui gli altri mi hanno aiutato! – Vivi

+3

D'accordo - e ti applaudo per questo. Ho potuto fare solo quell'osservazione perché ho fatto la stessa scelta di vita. Ma sto per diventare padre anche io, quindi vedremo cosa ha la precedenza :) – harpo

risposta

31

Ecco un gruppo piuttosto completa di invocazioni magiche di utilizzare Emacs UTF-8 in tutto il mondo in modo predefinito:

(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

Su Windows, è meglio evitare' (set-selection-coding-system 'utf-8) 'come altera il comportamento degli appunti in Emacs. 'selection-coding-system' (detto' clipboard-coding-system') su Windows dovrebbe essere ''utf-16-le' (predefinito) per consentire a Emacs di cooperare con altri programmi Unicode. – Rufflewind

+0

Esegui ning emacs in una VM Linux e copia nel testo da Windows, la funzione a meno che (due righe) farà apparire il testo come cinese ... se si lascia set-selection-coding-system come zero, Emacs proverà a interpretare il dati in base a ciò che è negli appunti, che a mio avviso è generalmente migliore. – AdamC

6

È necessario utilizzare UTF8; è in grado di gestire tutti i personaggi di cui avrete bisogno

+0

Quindi se inserisco (defun set-coding-system() (setq buffer-file-coding-system 'utf-8-unix)) (add-hook 'find-file-hook' set-coding-system) nel mio file .emacs sarà risolto il mio problema? Grazie! – Vivi

+0

Non riesco nemmeno a impostare il sistema di codifica ora. Quando provo a rispondere alla domanda sul sistema di codifica, dice: "il testo è di sola lettura" :(Non mi sono mai sentito così analfabeta al computer come adesso. – Vivi

+0

OK, ho trovato una buona risposta: Q: "Come scegliere in modo permanente un sistema di codifica in emacs per l'apertura e il salvataggio? "-> A:" Scegli il menu "Opzioni‣Mule (Ambiente multilingue) ‣Inserisci ambiente lingua" .Dopo questo, assicurati di selezionare il menu "Opzioni‣Salva Opzioni" per salvare l'impostazione nel file init di emacs. " Yay! Thanks – Vivi

0

Solo nel caso si possono integrare i commenti di VIVI La risposta di SLacks, su "Come scegliere in modo permanente un sistema di codifica in emacs per l'apertura e il salvataggio?", Ecco un modo per scegliere il sistema di codifica in modo permanente e per un solo file: Scrivi -*- coding: NAME OF THE CODING SYSTEM -*- nella parte superiore del file, dove specificare "NOME DEL SISTEMA DI CODIFICA".

È possibile trovare il nome di un sistema di codifica digitando M-x list-coding-systems <RET>. Informazioni su un sistema di codifica possono essere ottenute digitando C-h C NAME OF THE CODING SYSTEM <RET>.

Tutto ciò che cito qui è spiegato nel manuale di Emacs, ovviamente.

Si noti che è possibile impostare la modalità per un file specifico allo stesso modo del sistema di codifica, basta inserire -*- mode: NAME OF THE MODE -*- nella parte superiore del file.