2015-02-07 45 views
1

前幾天我想在gVim的文本輸入一些數學符號(7.3,在Windows 7 64位),所以我改變了編碼設置爲UTF-16Vim:在一個文件中的所有希臘文文本現在都是倒置問號「¿¿¿¿¿¿¿¿,¿¿¿¿¿¿¿¿¿

"set enc=utf-16" 

我也改變了字體DejaVu Sans Mono(因爲它有我需要的所有符號)。

我喜歡編輯我的文字,然後保存並關閉它,然後繼續做其他事情。然後我注意到,我創建的所有新文本文件都創建爲utf-16。

D'oh。 「set enc」更改編輯器的編碼,而不是緩衝區。所以我把它改回到utf-8。然後我打開了我在此期間創建的一些文件,並且它們全都是「@」符號。

呃哦。 ++ enc救援:

e ++enc=utf-8 

之後,在我心中有點模糊。我想我可能已經打開一個帶有希臘文字的文件來找到充滿「^ Z」字符的文件,並再次更新其編碼。

我肯定知道那是什麼,昨晚我檢查了希臘的文件和所有在它的希臘文現在是倒問號代替:

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

等。編碼被設置爲utf-8,並且改變它並沒有做任何事情。我可以告訴我,我無法恢復該文本...可能。不知何故,在某些時候,我發佈了一系列導致信息丟失的命令。

我還應該說該文件的備份(以〜結尾)也是混亂的,雖然我沒有試圖恢復交換文件,但我可以看到時間戳是從昨晚開始,當我第一次注意到問題時。

這真的是結束了嗎?這次熵真的會贏嗎?有誰知道一種方法來找回丟失的文本或其中的一部分?

回答

1

如果你所有的都是那些相同的倒置問號¿(U + 00BF),那麼確實看起來「熵已經贏了」。您可能已經檢查過原始文件(使用十六進制轉儲),或者通過Vim內的ga進行檢查。

唯一可以挽救你的是備份,但我想你沒有得到。從中學習並立即開始使用。有很多選擇,你也可以「濫用」像Git這樣的版本控制系統。 Vim也有非常輕量級的備份解決方案,例如我的writebackup plugin

+0

實際上,我確實有一個備份,它只是不是最近的:)我是一個成熟的packrat當談到筆記等,我確實「濫用」這樣的git來跟蹤我的重要文本文件(upvoted你的答案爲好建議)。 – 2015-02-08 11:53:40

+0

我看了一個十六進制編輯器,不幸的是它都是00BF,沒問題:( – 2015-02-08 12:02:39

相關問題