Permissions

Vim 錯誤 E138: 無法寫入 viminfo 文件 $HOME/.viminfo!

  • December 5, 2019

恐怕我遇到了一些相當奇怪的事情。當我正常打開文件時vim README.txt,一切都很好。但是在sudo vim README.txt,文件呈現空白,並E138: Can't write viminfo file $HOME/.viminfo!在嘗試退出時給我一個錯誤。

我懷疑該.viminfo文件已損壞,所以我將其刪除。這個問題依然存在。任何人都可以幫忙嗎?

當你執行時,sudo vim你以 root 身份啟動 vim。這意味著問題出在 /root 中的 viminfo 文件。你應該這樣做rm /root/.viminf*

要確保這一點,請執行sudo vim並執行以下命令::!echo $HOME. 這將顯示您的主目錄是 /root。

我建議您不要以 root 身份執行 vim,而是使用sudoedit. 這是一個更安全的解決方案,因為編輯器不是以 root 身份執行的。你永遠不知道外掛可以做什麼。此外,它允許您在 vim 中使用自己的設置和外掛,而不是根 vimrc 中的設置和外掛。sudoedit和跑步一樣sudo -e。sudoedit 通過製作呼叫使用者(您)擁有的文件的臨時副本來工作。完成編輯後,更改將寫入實際文件並刪除臨時文件。

作為一般經驗法則:如果沒有必要,請不要以 root 身份執行。

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