В некоторых файлах, особенно .rb, у меня проблема с тем, что emacs вынуждает меня иметь следующую строку кодировки.
# -*- coding: utf-8 -*-
Даже если я удалю строку, она снова будет записана после сохранения файла.
Возможно ли отключить эту функцию?
Похоже, что это часть режима ruby в emacs.
Я нашел ссылку на статью, в которой показано, как редактировать файл ruby-mode.el.Не уверен, что это работает, но есть также комментарий к этой статье, который может работать лучше:
(setq ruby-insert-encoding-magic-comment nil)
Если вместо режима ruby вы используете усиление ruby-mode Вы должны установить эту переменную:
(setq enh-ruby-add-encoding-comment-on-save nil)
Ссылки:
Исправлено: Emacs / Aquamacs продолжает добавлять комментарии к кодировке в мои файлы
Также, полусвязанный с этим вопрос, но соответствующий ответ от Майкла Коля: Как можно избежать размещения магического комментария кодировки поверх каждого файла UTF-8 в Ruby 1.9?
Enh-ruby-режим кодирования строки комментария
Если вы скопировали / вставили код из Интернета в буфер Emacs, у вас могут быть символы, отличные от ASCII. # -*- coding: utf-8 -*- - это способ Emacs сообщить вам, что он не может просто закодировать файл как ASCII. Просканируйте код на наличие потенциально оскорбительных символов (в моем случае это были «умные цитаты», скопированные с http://matteomelani.wordpress.com/2011/10/17/authentication-for-mobile-devices/. Конечно, Руби наткнулся на них.