求助,Emacs编码问题和tab-width

Vim、Emacs配置和使用
回复
Lisp
帖子: 11
注册时间: 2013-01-28 10:13

求助,Emacs编码问题和tab-width

#1

帖子 Lisp » 2013-06-14 22:59

首先说下编码问题,我主要在windows简体中文系统下使用emacs 24.3,我想使通过emacs编辑的文件都为utf-8格式,网上看了很多有关的配置文件(中英文都有),最后使用了如下配置:

代码: 全选

(setq current-language-environment "UTF-8")
(set-language-environment "UTF-8")
(set-buffer-file-coding-system 'utf-8)
(set-file-name-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-clipboard-coding-system 'utf-8)
(modify-coding-system-alist 'process "*" 'utf-8)
(setq-default pathname-coding-system 'utf-8)
(setq default-process-coding-system '(utf-8 . utf-8))
(setq locale-coding-system 'utf-8)
(setq file-name-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)
(set-default buffer-file-coding-system 'utf-8)
;; 中文输入法使用c-\呼出,标点用v呼出
(setq default-input-method "chinese-py-punct")

;; 新建文件编码
;(setq default-buffer-file-coding-system 'utf-8)

;; 读文件编码
(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)
(prefer-coding-system 'utf-8)
文件编码,成了utf-8,但是中文文件夹和中文文件名在emacs中显示为了乱码,我开启的时间显示也成了乱码
还有也有说只需要设置:

代码: 全选

(setq default-buffer-file-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
中文文件夹和中文文件名在emacs中显示为了乱码
请问怎么具体设置,能在我通过emacs编辑文件后保存为utf-8编码文件。我也查到了些相关的命令:如C-x RNT r coding RNT...等命令,但是这样做有些麻烦

tab-width相关问题

代码: 全选

(setq-default indent-tabs-mode nil)
(setq indent-tabs-mode nil)
(setq default-tab-width 4)
(setq-default tab-width 4)
(setq tab-width 4)
请问其中究竟是哪几个配置才起作用啊

就是以上两个困扰了我很久的问题,希望各位能给以帮助啊
Lisp
帖子: 11
注册时间: 2013-01-28 10:13

Re: 求助,Emacs编码问题和tab-width

#2

帖子 Lisp » 2013-06-15 14:24

哎,看来只能靠自己了
编码的问题,还在查资料中...
关于indent,目前有了点眉目:
其中:

代码: 全选

(setq indent-tabs-mode nil)
(setq tab-width 4)
是在相关mode中使用的,也就是mode's hook,来至:http://www.xemacs.org/Links/tutorials_1.html
至于:

代码: 全选

(setq default-tab-width 4)
http://www.cnblogs.com/bamanzi/archive/ ... ndent.html
有相关提到,但不清楚24版本是否还可以使用
最后indent为:

代码: 全选

(setq-default indent-tabs-mode nil
              tab-width 4)
如有不对请大家指正,谢谢
lhui
帖子: 78
注册时间: 2009-09-04 16:42

Re: 求助,Emacs编码问题和tab-width

#3

帖子 lhui » 2013-06-17 13:23

编码设置只需要下面两行就够了吧

代码: 全选

(prefer-coding-system 'utf-8)
(setq file-name-coding-system 'chinese-gbk)  ;; 文件名编码要改回 gbk
回复