如何设置MacVim显示代码。
当我打开在Windows XP中创建的lua文件时,这是一团糟。
gControlMode = 0; - 1£ÆÆÆÖØÁ|¸ÐÓ|£0:¿ª'¥ÆÁģʽ
gState = GS_GAME;
sTotalTime = 0; --μ±C°¹Ø¿¨»μA×UE±¼ä
答案 0 :(得分:0)
您发布的文字似乎是对本文的CP936编码(或EUC-CN或GB18030编码 1 )的Latin-1(或ISO-8859-1,CP819)解码SUP> 2 :
gControlMode = 0; -- 1:开启重力感应, 0:开触屏模式
gState = GS_GAME;
sTotalTime = 0; --当前关卡花的总时间
打开文件时,Vim会尝试fileencodings
option中指定的编码列表。通常,latin1
是此列表中的最后一个值;读取为Latin-1将始终成功,因为它是一个映射所有256个值的8位编码。因此,Vim将您的CP936编码文件打开为Latin-1。
让Vim使用其他编码有几种选择:
您可以使用++enc=
option到Vim的:edit
命令指定编码(这将导致Vim忽略缓冲区的fileencodings
列表):
:e ++enc=cp936 /path/to/file
您可以通过以下路径将其应用于已加载的文件:
:e ++enc=cp936
您可以在fileencodings
之前将您的首选编码添加到latin1
(例如在~/.vimrc
中):
let &fileencodings = substitute(&fileencodings, 'latin1', 'cp936,\0', '')
您可以将encoding
选项设置为所需的编码。这通常是不鼓励的,因为它具有广泛的影响(见:help encoding
)。
如果可能的话,将文件切换为UTF-8可能是有意义的,因为许多编辑器将正确地自动检测UTF-8。正确加载文件后(见上文),Vim可以像这样进行转换(设置fileencoding
,然后设置:write
):
:set fenc=utf-8 | w
Vim几乎可以自动处理读写UTF-8文件(encoding
默认为UTF-8,utf-8
默认为fileencodings
),但如果您正在使用其他编辑器(即Windows编辑器编辑/创建CP936文件),您可能需要将它们配置为使用UTF-8而不是(例如)CP936。
1 我不熟悉用于中文文本的编码,这些编码对于“预期”文本似乎是相同的。
2 我不读中文,但是FULLWIDTH COLON和FULLWIDTH COMMA(以及Google对本文的翻译)的存在和位置让我觉得这是你期望的文字。