2

我有一个在记事本和 Vim 中显示不同内容的文件。

该文件在 Windows 记事本下正常显示:

Windows 记事本中的文件图片

使用 Vim 时,每个字符都会添加奇怪的字符。

Vim 中的文件图片

有人知道如何在 Windows 环境下消除 Vim 中的那些奇怪字符吗?

4

3 回答 3

6

如您所见:TSS显示为T^@S^@S^@(二进制:)54 00 53 00 53 00
因为 vim 显示\0x00^@. 听起来像UTF16LE


您可以转换UTF16LEUTF8

:e ++enc=UTF16LE
:set fenc=UTF8
:w
于 2012-08-31T00:07:46.337 回答
1

该文件存储为 UTF-16,其中每个字符由两个字节表示。VIM 像打开 ASCII 或 UTF-8 文件一样打开它,因此每对字节都转换为两个字符。

记事本识别编码,但显然 VIM 没有。打开文件时指定编码。

于 2012-02-06T02:13:39.300 回答
1

这看起来像unicode。您可以在记事本中打开文件并将其保存为 ascii。

或者,如果您不想创建新文件,您可以更改 vimrc 设置以启用多字节字符编码。

以下是来自 vim wiki 的更多信息:http:
//vim.wikia.com/wiki/Working_with_Unicode

于 2012-02-06T02:06:57.760 回答