无法在 Vim 编辑器中写入对文件的更改

无法在 Vim 编辑器中写入对文件的更改

我有一个 100 GB 的 xml 文档,我正在将其批量迁移到数据库。
在 中vim,我可以编辑文件,但无法使用:wq:q或保存更改:xx

我收到错误消息this file is read only - press ! to override
没有任何效果,所以我使用:q!忽略我的更改并退出vim.

我怎样才能保存我的更改?

奖金问题

如果我不等待整个文件加载到内存中并按Ctrl + c查看已填充的内容,则保存该文档是否只会保存加载到内存中的内容并删除其余内容?

答案1

该消息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_name身份编辑文件root

  2. 授予其他用户write权限chmod

  3. 更改文件的所有者乔恩

相关内容