Emacs не отображает Unicode при перезагрузке

Когда я вставляю — (длинное тире) в текстовый файл, Emacs сначала отображает его нормально. Когда я перезагружаю Emacs, все экземпляры — отображаются как \342\200\224.

Как я могу заставить Emacs отображать символы, как это было изначально? Я использую Windows 7 и Emacs 24.3.1. Основной режим — «Текст», второстепенный — «Заливка».


person Simon Morgan    schedule 08.07.2013    source источник
comment
Что показывает индикатор в модели? (в самом начале это должно быть U, иначе Emacs не распознал (или, возможно, даже не сохранил) файл как разновидность Unicode. Попробуйте сохранить его как Unicode после того, как вы вставите широкие символы, выполнив C-x C-m f (выберите какой-нибудь Unicode кодировка) C-x C-s.   -  person    schedule 09.07.2013
comment
C-x C-m переводит меня в командную строку.   -  person Simon Morgan    schedule 09.07.2013
comment
Если под командной строкой вы подразумеваете минибуфер, то это желаемый эффект. Затем вы можете начать вводить utf и нажать TAB, чтобы увидеть возможные варианты завершения. Если вы изменили эту привязку или ваш терминал интерпретирует ее по-другому, вы можете сделать M-x set-buffer-file-coding-system - что то же самое.   -  person    schedule 09.07.2013
comment
Нет, он буквально запускает командную строку внутри буфера Emacs. Судя по тому, что я читал, Cm по умолчанию является псевдонимом RET. Спасибо за название функции.   -  person Simon Morgan    schedule 09.07.2013
comment
Ага, точнее наоборот: RET это псевдоним для C-m. Наши предки очень странно использовали свои клавиатуры... Ну, тем не менее, это должно работать, как вы это делаете, C-x C-m f просто кажется проще, потому что вам не нужно отпускать клавишу управления / m сразу за вашим указательным пальцем.   -  person    schedule 09.07.2013


Ответы (1)


Попробуйте вставить это в свой файл инициализации. Он должен убедиться, что emacs сохраняет файлы как Unicode (и потом правильно их читает).

;;;;;;;;;;;;;;;;;;;;
;;; set up unicode
(prefer-coding-system       'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)                      
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))

Я почти уверен, что большинство этих опций не нужны, но после их вставки у меня больше никогда не возникало проблем с кодировкой. Береженого Бог бережет. :-)

person Malabarba    schedule 08.07.2013