Linux

無法在 Vim 編輯器中將更改寫入文件

  • May 19, 2018

我有一個 100 GB 的 xml 文件,我正在將其遷移到 wave 中的數據庫。

vim中,我可以編輯文件,但無法使用:wq:q或保存更改:xx

我收到錯誤消息this file is read only - press ! to override

沒有任何效果,所以我使用:q!which 忽略我的更改並退出vim.

如何保存我的更改?

獎金問題

如果我不等待整個文件載入到記憶體中並按下Ctrl + c查看已填充的內容,那麼保存該文件是否只會保存載入到記憶體中的內容並刪除其餘部分?

該消息file is read only - press ! to override意味著您無權寫入正在編輯的文件,因此您所做的更改無法寫入該文件。

最簡單的解決方案是使用 將編輯後的文件內容寫入另一個文件:w file_name,假設這file_name是您有權寫入的文件的路徑。

除此之外,您需要找出為什麼您無權寫入原始文件。

你可以用ls -l file_name.

(我已經解釋了ls -l file_name 這裡的輸出。)

現在您對權限有了更多了解,您有 3 個選項:

  1. 用於sudo vim file_nameroot使用者身份編輯文件。
  2. 使用chmod授予其他使用者write權限。
  3. 使用chown更改文件的所有者。

引用自:https://unix.stackexchange.com/questions/444818