Read Sean

Read me, read Sean.
posts - 508, comments - 655, trackbacks - 9, articles - 4

[Tips] Emacs字符编码相关指令

Posted on 2011-01-05 13:31 laogao 阅读(3577) 评论(0)  编辑  收藏 所属分类: Computer Usage

在Vim中,我们可以通过set fencs=utf-8,gbk告诉它按照先utf-8后gbk的顺序自动识别打开文件的字符编码。Emacs也有一组字符编码相关指令,整理如下:

指令全名:set-buffer-file-coding-system
指令作用:改变当前buffer的编码
调用方法:(以目标编码gbk为例)
C-x <RET> f gbk <RET>
该指令还可以用于改变当前buffer的换行习惯(编码参数用dos或unix,对应\r\n或\n)。

指令全名:universal-coding-system-argument
指令作用:指定紧随其后的命令(如C-x C-f或C-x C-w等)所采用的编码
调用方法:(以目标编码gbk为例)
C-x <RET> c gbk <RET>

指令全名:revert-buffer-with-coding-system
指令作用:用指定编码重读当前buffer(如果打开时用错了编码)
调用方法:(以目标编码gbk为例)
C-x <RET> r gbk <RET>

指令全名:recode-region
指令作用:将以错误编码解码的选区以指定编码重新解码
调用方法:(以目标编码gbk为例)
M-x recode-region <RET> gbk <RET> utf-8 <RET>

除了这些操作外,还有一种方法,那就是在文件开始的部分给出如下形式的指令,直接告诉编辑器在打开和保存时应采用的编码:
-*- coding: gbk -*-
接触过Python的同学是不是觉得很眼熟?

[补充] 查看当前编码选择的命令为:
M-x describe-coding-system <RET> 或 C-h C <RET>
也可在回车前输入具体的编码名称(如gbk)以查看详细说明。


只有注册用户登录后才能发表评论。


网站导航: