Emacs 中的coding system

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Emacs 中的coding system相关的知识,希望对你有一定的参考价值。

Emacs 中的coding system

1 Emacs 中的coding system

1.1 环境为utf-8,文件编码为utf-8

如果在linux或者mac以utf-8为默认编码的系统中,则非常简单,所有的设置全设置成utf-8即可。

1.2 环境为gbk,文件编码为gbk

如果在windows下,默认编码是gbk。而创建的文件编码也为gbk。所有的设置全设置成gbk即可。

1.3 环境为gbk,文件编码为utf-8

这种是非常麻烦的,因为文件名的编码是gbk,拷贝粘贴等,系统相关的都是gbk。而编程的话,文件编码一般为utf-8。这时,文件名的编码与文件内容的编码就不一样了。所以,在使用gtags的时候,就会造成,要么中文名的文件名可以正常显示,但是内容乱码;要么内容正常了,但是文件名乱码。目前还没想到好的解决办法。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ENCODING ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list ‘file-coding-system-alist ‘("\\.bat"  . gb2312))
(add-to-list ‘file-coding-system-alist ‘("\\.html" . utf-8))
(add-to-list ‘file-coding-system-alist ‘("\\.js"   . utf-8))
(add-to-list ‘file-coding-system-alist ‘("\\.php"  . utf-8))
(add-to-list ‘file-coding-system-alist ‘("\\.tcl"  . utf-8))
(add-to-list ‘file-coding-system-alist ‘("\\.el"   . utf-8))

(prefer-coding-system        ‘utf-8)
(set-default-coding-systems  ‘utf-8)
(set-terminal-coding-system  ‘utf-8)
(set-keyboard-coding-system  ‘utf-8)
*hideshowvis*(unless (eq system-type ‘windows-nt)
  (set-selection-coding-system ‘utf-8))
(set-clipboard-coding-system ‘utf-8)
(setq-default buffer-file-coding-system ‘utf-8)

;; Chinese filenames in shell commands.
*hideshowvis*(when (eq system-type ‘windows-nt)
  (setq file-name-coding-system ‘gbk-dos)
  (set-clipboard-coding-system ‘gbk-dos)
  (setq default-process-coding-system ‘(gbk-dos . gbk-dos))
  *hideshowvis*(set-default ‘process-coding-system-alist
               ‘*hideshowvis*(("find"   gbk-dos . gbk-dos)
                 ("global" gbk-dos . gbk-dos)
                 ("gtags"  gbk-dos . gbk-dos)
                 ("ctags"  gbk-dos . gbk-dos)
                 ("ag"     gbk-dos . gbk-dos)
                 ("java"   gbk-dos . gbk-dos)
                 ("javac"  gbk-dos . gbk-dos)
                 )))

Date: 2016-08-17 17:30

Created: 2016-12-20 周二 23:41

Validate

以上是关于Emacs 中的coding system的主要内容,如果未能解决你的问题,请参考以下文章

emacs 在shell下中文乱码解决方案

YASnippet - emacs 的代码片段管理工具

真香!Emacs 大佬公开转投 VS Code

有用的东西(emacs配置和bzoj数据下载网址)

emacs 中的工具栏按钮如何工作? [复制]

如何确定elisp中的操作系统?