Коли я копіюю текст не-ascii з Windows і вставляю в Emacs, він відображається у вигляді восьмеричної послідовності. Наприклад, якщо я вставити ä в Emacs, він відображається як \ 344.
Я міг би набрати Cq 344, щоб повернути ä назад в Emacs. Це дратує, але допустимо, якщо є лише один персонаж. Але якщо є багато символів, перетворених у восьмеричні послідовності втечі, було б зручно виконати якусь команду в регіоні, щоб перетворити все всередині. Чи вже є така команда? Якщо ні, то як би ви написали функцію для цього?
[Я встановив мою систему кодування за замовчуванням у 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 з набором високих бітів не мають значення, тобто недійсні).