即使使用了 sudo,vim 也无法写入文件

即使使用了 sudo,vim 也无法写入文件

我发现vim,如果我尝试编辑一个文件,而作为普通用户我没有写权限,即使我使用sudo,我也无法写入它,但如果我使用nano编辑同一个文件,它就可以工作。

例如如果我这样做:

sudo vim /var/path/to/file.conf

我将在文件中得到此信息但无法编辑该文件:

"/var/path/to/file.conf" [readonly]

但如果我这样做:

sudo nano /var/path/to/file.conf

它将能够写入文件,为什么会这样,为什么不像 那样sudo授予写入权限?这是某种错误吗?还是这只是注定要发生的事情?因为这很烦人。vimnano


操作系统信息:

Description:    Ubuntu 15.04
Release:    15.04

封装信息:

vim:
  Installed: 2:7.4.488-3ubuntu2
  Candidate: 2:7.4.488-3ubuntu2
  Version table:
 *** 2:7.4.488-3ubuntu2 0
        500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
        100 /var/lib/dpkg/status

答案1

这是 vim(和 vi)的预期行为。

当您编辑只读文件时,尝试以通常的方式(使用 )写入文件:w会失败。这是为了防止您意外更改您可能不想更改的只读文件。

如果你真的想要覆盖您拥有的文件的只读权限,并将更改写入文件,您必须使用:w!命令所以 vim 知道这是你想要的。

  • 这类似于:q如果有未保存的更改则不会退出,但:q!会退出。

如果您想在一个命令中写入任何更改并退出,则可以使用:wq!:x!

相关内容