如何設置MacVim顯示代碼。亂碼當我打開一個lua文件包含中文與MacVim
當我打開在Windows XP中創建的lua文件時,這是一團糟。
gControlMode = 0; - 1££º¿ªÆôÖØÁ|¸ÐÓ|¬0:¿ª'¥ÆÁģʽ
gState = GS_GAME;
sTotalTime = 0; --μ±Ç°¹Ø¨¨μÄ×Üʱää
如何設置MacVim顯示代碼。亂碼當我打開一個lua文件包含中文與MacVim
當我打開在Windows XP中創建的lua文件時,這是一團糟。
gControlMode = 0; - 1££º¿ªÆôÖØÁ|¸ÐÓ|¬0:¿ª'¥ÆÁģʽ
gState = GS_GAME;
sTotalTime = 0; --μ±Ç°¹Ø¨¨μÄ×Üʱää
您發佈的文本看起來像是對CP936編碼(或EUC-CN)的Latin-1(或ISO-8859-1,CP819) ,本文的或GB18030編碼):
gControlMode = 0; -- 1:開啓重力感應, 0:開觸屏模式
gState = GS_GAME;
sTotalTime = 0; --當前關卡花的總時間
當打開一個文件,Vim試圖在fileencodings
option指定編碼列表。通常,latin1
是此列表中的最後一個值;因爲它是映射所有256個值的8位編碼,因此讀取爲Latin-1將始終成功。因此,Vim打開你的CP936編碼文件爲Latin-1。
您有幾種選擇讓Vim來使用另一種編碼:
您可以指定與++enc=
option到Vim的:edit
命令編碼(這將使得Vim忽略fileencodings
列表緩衝區):
:e ++enc=cp936 /path/to/file
您可以通過不使用的路徑將此到一個已經加載的文件:
:e ++enc=cp936
您只需latin1
之前添加您的首選編碼fileencodings
(例如在~/.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。
我不熟悉使用中國文字的編碼,這些編碼似乎是在「期待」的文字相同。
我不讀中文,但是FULLWIDTH COLON和FULLWIDTH COMMA的出現和位置(以及谷歌翻譯的這段文字)讓我覺得這是你期望的文字。