【问题标题】:how can I make sure emacs always saves edited/created plain text as utf8?如何确保 emacs 始终将编辑/创建的纯文本保存为 utf8?
【发布时间】:2012-04-15 05:05:17
【问题描述】:

我将在 emacs 中打开以多种不同编码(在我知道什么是编码之前)创建的 txt 文件。有时它们无法正确显示,但事实证明,5 秒的查找和替换通常足以解决任何问题。为了尽量减少未来的麻烦,我希望我与 emacs 一起使用的所有文件都是 utf-8。 有什么方法可以 (1) 强制 emacs 将文件显示为 utf-8 编码和/或 (2) 始终使用 utf-8 编码保存新的/和/或编辑的文本文件?

【问题讨论】:

  • 查看命令prefer-coding-system,它将处理新文件。
  • 如果打开文件时编码检测失败,您可以通过revert-buffer-with-coding-system(通常绑定到C-x RET r)使用不同的编码重新打开它。
  • 为了使用另一种编码保存打开的文件,set-buffer-file-coding-system(绑定到C-x RET f)会更改当前缓冲区的编码。您可以检查状态栏上第一个符号的当前编码(1 表示 latin-1,U 表示 UTF 等)。

标签: macos emacs


【解决方案1】:

我的.emacs 中有这个(当然我是从某个地方复制的)。我认为他们很容易理解

 (setq buffer-file-coding-system 'utf-8-unix)
 (setq default-file-name-coding-system 'utf-8-unix)
 (setq default-keyboard-coding-system 'utf-8-unix)
 (setq default-process-coding-system '(utf-8-unix . utf-8-unix))
 (setq default-sendmail-coding-system 'utf-8-unix)
 (setq default-terminal-coding-system 'utf-8-unix)

【讨论】:

    【解决方案2】:

    试试

    (set-locale-environment "en_US.UTF-8")
    

    其中“en”是语言代码,“US”是国家代码(这会影响纸张大小,可能还会影响其他一些因素)。 C-h fset-locale-environment 了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 2010-12-31
      • 2012-09-27
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      相关资源
      最近更新 更多