Vim:一个文件中的所有希腊文字现在都是倒置的问号“¿¿¿¿¿¿¿,¿¿¿¿¿¿¿¿¿

时间:2015-02-07 11:31:22

标签: vim unicode utf-8 character-encoding utf-16

前几天我想在gVim的文本中输入一些数学符号(7.3,在Windows 7 64位上),所以我用

将编码更改为utf-16
"set enc=utf-16"

我还将字体改为DejaVu Sans Mono(因为它有我需要的所有符号)。

很幸运,我编辑了我的文本,然后将其保存并关闭它,然后继续做其他事情。然后我注意到我创建的所有新文本文件都是以utf-16创建的。

D'哦。 “set enc”更改编辑器的编码,而不是缓冲区。所以我把它改回了utf-8。然后我打开了我在此期间创建的一些文件,它们都充满了“@”符号。

哦,哦。 ++拯救:

e ++enc=utf-8 

在那之后,我脑子里有点模糊。我想我可能已经用希腊文本打开了一个文件,发现它充满了“^ Z”字符并再次更新了它的编码。

我确切知道的是昨晚我检查了希腊文件,其中的所有希腊文字现在都被倒置的问号所取代:

- ¿¿¿¿¿¿¿ ¿¿¿ ¿¿¿¿¿¿¿¿¿¿¿
    > callista chione (¿¿¿¿¿¿¿¿¿¿)
    > Venus verrucosa (¿¿¿¿¿¿)

等等。编码设置为utf-8并且更改它不再执行任何操作。我可以说我无法恢复那个文本......可能。不知何故,在某些时候,我发布了一系列导致信息丢失的命令。

我还应该说文件的备份(以〜结尾)也是乱码的,虽然我没有尝试恢复交换文件,但我可以看到时间戳是从昨晚开始,当我第一次发现问题时。

这真的结束了吗?这次熵真的赢了吗?有没有人知道如何找回丢失的文本或其中某些部分?

1 个答案:

答案 0 :(得分:1)

如果你只有那些相同的倒置问号¿(U + 00BF),那看起来确实是“熵赢了”。您可能已经检查过原始文件(使用十六进制转储),或通过Vim内的ga

唯一可以拯救你的是备份,但我猜你还没有。从中学习并立即开始使用。有很多选择,你也可以“误用”像Git这样的版本控制系统。 Vim还有非常轻量级的备份解决方案,例如:我的writebackup plugin