Когда я копирую не-ascii текст из Windows и вставляю его в Emacs, он отображается в виде восьмеричной последовательности. Например, если я вставлю ä в Emacs, он отобразится как \ 344.
Я мог бы набрать Cq 344, чтобы вернуть ä в Emacs. Это раздражает, но терпимо, если есть только один персонаж. Но если есть много символов, превращенных в восьмеричные escape-последовательности, было бы удобно выполнить некоторую команду в регионе, чтобы преобразовать все внутри. Уже есть такая команда? Если нет, то как бы вы написали функцию для этого?
[Я установил систему кодирования по умолчанию на utf-8 в моем файле .emacs и использую один и тот же файл .emacs в Windows и Linux. Но проблема возникает только при копировании из приложения Windows в Emacs. Копирование из Emacs в другое приложение Windows работает нормально.]
set-clipboard-coding-system
. Попробуйте C-h a coding-system
посмотреть, какие другие функции в этой группе доступны.
emacs -Q
и если вы видите проблему там уже M-x report-emacs-bug
.
insert-file-literally
(и было слишком поздно либо отменить, либо удалить / заново вставить файл).
revert-buffer-with-coding-system
(см. Документацию). Emacs показывает символы таким образом, потому что вы скопировали их из среды, которая была в другой системе кодирования (предполагая, что ANSI с так называемыми символами высокого ASCII, использованными для рендеринга латиницы с диакритическими знаками), но ваш буфер должен использовать что-то вроде UTF-8 (для какие символы ASCII с установленными старшими битами не имеют значения, то есть недопустимы).