Windows7 Emacs设置及中文乱码解决

环境说明

  • Windows7
  • GNU Emacs 25.1.1
  • 安装路径:D:/apps/emacs/

配置Emacs

在Windows7下安装完Emacs后,默认情况下Emacs不会在一启动的时候就生成.emacs配置文件和.emacs.d目录。为了生成配置文件需要做如下操作:

  • 启动Emacs
  • 在Options菜单中随便更改一下设置,如选中“Highlight Matching Parentheses”
  • 点Save Options保存

生成的.emacs目录还是在C:\Users\<username>\AppData\Roaming下。打开C:\Users\<username>\AppData\Roaming\.emacs配置文件,添加如下配置:

1
(load-file "D:/apps/emacs/.emacs")

Emacs在启动的时候会加载C:\Users\<username>\AppData\Roaming\.emacs这个配置文件,而该文件又加载D:/apps/emacs/.emacs配置文件。这样不用进入C:\Users\<username>\AppData\Roaming\.emacs这个冗的路径了。

使用以下配置修改HOME PATH配置项:

1
2
3
4
5
(setenv "HOME" "D:/emacs-23.2")
(setenv "PATH" "D:/emacs-23.2")
;;set the default file path
(setq default-directory "~/")
(setq load-path (cons "~/.emacs.d/elisp" load-path))

解决中文乱码

在.emacs文件中加入如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;; 编码设置 begin
(set-language-environment 'Chinese-GB)

;; default-buffer-file-coding-system变量在emacs23.2之后已被废弃,使用buffer-file-coding-system代替
(set-default buffer-file-coding-system 'utf-8-unix)
(set-default-coding-systems 'utf-8-unix)
(setq-default pathname-coding-system 'euc-cn)
(setq file-name-coding-system 'euc-cn)

;; 另外建议按下面的先后顺序来设置中文编码识别方式。
;; 重要提示:写在最后一行的,实际上最优先使用; 最前面一行,反而放到最后才识别。
;; utf-16le-with-signature 相当于 Windows 下的 Unicode 编码,这里也可写成
;; utf-16 (utf-16 实际上还细分为 utf-16le, utf-16be, utf-16le-with-signature等多种)
(prefer-coding-system 'cp950)
(prefer-coding-system 'gb2312)
(prefer-coding-system 'cp936)
(prefer-coding-system 'gb18030)

;(prefer-coding-system 'utf-16le-with-signature)
(prefer-coding-system 'utf-16)

;; 新建文件使用utf-8-unix方式
;; 如果不写下面两句,只写
;; (prefer-coding-system 'utf-8)
;; 这一句的话,新建文件以utf-8编码,行末结束符平台相关
(prefer-coding-system 'utf-8-dos)
(prefer-coding-system 'utf-8-unix)
;; 编码设置 end