Jam*_*and 22 vim root permissions sudo
恐怕我遇到了一些很奇怪的事情。当我正常打开文件时vim README.txt
,一切正常。但是在sudo vim README.txt
,该文件呈现空白,并E138: Can't write viminfo file $HOME/.viminfo!
在尝试退出时给我一个错误。
我怀疑.viminfo
文件损坏了,所以我删除了它。这个问题依然存在。任何人都可以帮忙吗?
arn*_*efm 30
当你运行时,sudo vim
你以 root 身份启动 vim。这意味着 /root 中的 viminfo 文件是问题所在。你应该这样做rm /root/.viminf*
。
本作的肯定,运行sudo vim
和执行此命令::!echo $HOME
。这将显示您的主目录是 /root。
我建议您不要以 root 身份运行 vim,而是使用sudoedit
. 这是一个更安全的解决方案,因为编辑器不是以 root 身份运行的。你永远不知道插件可以做什么。此外,它允许您在 vim 中使用自己的设置和插件,而不是在 root vimrc 中使用的设置和插件。sudoedit
和跑步一样sudo -e
。sudoedit 通过制作调用用户(您)拥有的文件的临时副本来工作。完成编辑后,更改将写入实际文件并删除临时文件。
作为一般经验法则:如果没有必要,不要以 root 身份运行。
Hen*_*k N 25
我在每次退出时都收到此错误。我没有使用sudo
. 它明确提到了我的用户主目录:
E138: Can't write viminfo file /Users/henrik/.viminfo!
Run Code Online (Sandbox Code Playgroud)
删除~/.viminfo
并没有修复错误。
原来我有一堆 viminfo 临时文件,删除这些文件可以解决问题:
ls ~/.viminf* # If you want to see the files.
rm -rf ~/.viminf* # Remove them.
Run Code Online (Sandbox Code Playgroud)
在这里找到了这个解决方案。