忘记以 root / sudo vi 身份打开后保存文件

忘记以 root / sudo vi 身份打开后保存文件

可能重复:
vim 以 root 身份重新编辑

我敢发誓我看见有人问过这个问题。但是在查看了“vi”的所有搜索结果后,我感到困惑/懒惰。

我打开了一个文件,进行了编辑,现在我意识到它是只读的,并且我以非 root 身份打开了它。

答案1

我想你想要这样的东西:

:w !sudo tee "%"

我第一次看到它命令行。仅当文件路径包含空格时才需要引号。

答案2

我偶尔会这样做,如果我做的更改不重要,我只需退出并以 root 身份再次编辑它。

否则,我将文件保存到 /tmp,然后以 root 身份将其 mv/cp 到它稍后真正属于的位置。并使用 chown/chgrp/chmod 来修复所有权/权限。

答案3

考虑将这一行添加到你的 vimrc 中:

" Remaps :SW to sudo save the current file and tell vim to reload it
command SW execute 'w !sudo tee % >/dev/null' | e! %

答案4

相关内容