Khi tôi sao chép văn bản không phải mã ascii từ Windows và dán vào Emacs, nó sẽ hiển thị dưới dạng một chuỗi bát phân. Ví dụ: nếu tôi dán ä vào Emacs, nó hiển thị là \ 344.
Tôi có thể gõ Cq 344 để lấy lại ä trong Emacs. Điều đó thật khó chịu, nhưng có thể chấp nhận được nếu chỉ có một nhân vật. Nhưng nếu có nhiều ký tự biến thành chuỗi thoát bát phân, sẽ thuận tiện khi chạy một số lệnh trên một vùng để chuyển đổi mọi thứ bên trong. Đã có một lệnh như vậy? Nếu không, làm thế nào bạn sẽ viết một chức năng để làm điều đó?
[Tôi đặt hệ thống mã hóa mặc định của mình thành utf-8 trong tệp .emacs của mình và tôi sử dụng cùng một tệp .emacs trên Windows và Linux. Nhưng vấn đề chỉ xảy ra khi sao chép từ một ứng dụng Windows vào Emacs. Sao chép từ Emacs sang một ứng dụng Windows khác hoạt động tốt.]
set-clipboard-coding-system
. Hãy thử C-h a coding-system
xem những chức năng khác trong nhóm này có sẵn.
emacs -Q
và nếu bạn thấy vấn đề ở đó , M-x report-emacs-bug
.
insert-file-literally
(và đã quá muộn để hoàn tác hoặc xóa / cài đặt lại tệp).
revert-buffer-with-coding-system
(xem tài liệu này). Emacs hiển thị các ký tự theo cách này vì bạn đã sao chép chúng từ một môi trường trong hệ thống mã hóa khác nhau (giả sử ANSI với cái gọi là các ký tự ASCII cao được sử dụng để hiển thị tiếng Latin bằng dấu phụ), nhưng bộ đệm của bạn phải sử dụng cái gì đó như UTF-8 (cho mà các ký tự ASCII có bit cao được đặt không có nghĩa, không hợp lệ).