emacs 可以单独对某一个进程(这些进程是指与emacs有交互的进程,最普遍的场景就是在emacs中给某一个进程传递参数然后把这个进程的运行结果读取到emacs的buffer中,传递参数和读取运行结果都会有相应的编码处理过程)设置编码,你把它内部关于编码的处理机制搞明白就能得心应手了。以下是我对几个进程的编码设置(也是参考了网上大神的教程!),其他关于编码的设置保持默认。
(when (eq system-type 'windows-nt)
(set-default 'process-coding-system-alist
'(("[pP][lL][iI][nN][kK]" gbk-dos . gbk-dos)
("[cC][mM][dD][pP][rR][oO][xX][yY]" gbk-dos . gbk-dos)
("[rR][gG]" utf-8-dos . gbk-dos))))
类似这样的: “[rR][gG]” 其实匹配 “rg” 进程名称的正则表达式。 多看看官方文档关于这方面的内容,相信你今后对编码的问题不会太头痛,哈哈。
emacs 对编码的处理能力和灵活性绝对会令你惊叹。