簡介
本文介紹如何解決vim編輯檔案時的報錯:E37: No write since last change E162: No write since last change for buffer
問題複現
使用vi編輯檔案,然後儲存時報錯:

原因分析
網上搜尋此問題,有的說是讀寫權限問題,有的說是沒有使用者權限。
但我檢視此檔案,是有寫權限的,而且使用sudo也沒用。
最後發現,它是編碼格式導緻的。我是從Windows将這個檔案拷貝到Linux的,在Linux裡進行了編輯,導緻了報錯。Windows是ANSI編碼,Linux是UTF-8,導緻了這個錯誤。
問題解決
:set fileencoding=utf-8