38 我以只读模式打开文件;有没有办法摆脱只读模式? vim readonly — 错误的用户名 source 只读模式的哪些限制困扰着您?即使只是以只读方式打开文件,如果您只是要写入文件,那么可以像在Michael所说的那样!在w命令中添加a 即可。 — Bananguin 1 @ user1129682只是在w我每次要保存后记得带一个感叹号而带来的不便。嘿 — 错误用户名
43 您可以这样做: :set noro 这样会取消设置只读标志,但是如果基础文件仍然不能被您写入,则vim仍将无法对其进行写入。 — 菲利普·基恩斯 source 如何扭转这种情况,回到只读状态? — 路易斯·洪 2 @LouisHong很容易::set ro。 — 菲利普·基恩斯 1 如果您使用打开一个可写文件,view然后决定对其进行编辑,则这是完美的选择。 — Wisbucky
3 除了Michael Mrozek的答案之外,您还可以在行中添加一行,以.vimrc允许您写入被忽略以提升的权限打开的文件: " Allows writing to files with root priviledges cmap w!! w !sudo tee % > /dev/null 如果文件是只读的,则只需输入:w!!,系统将提示您输入密码,然后文件将被成功写入。 — 杰森 source
2 在:set noro执行此工作时,它不会检查文件是否由另一个vim实例打开或是否在外部更改文件时更新文件。 为了使其可编辑并检查交换文件(这是使用vim打开文件的默认设置),只需使用edit命令(:help edit): :e 注意,如果文件从那以后(甚至在vim之外)都被操纵过,它将更新当前缓冲区中的更改(我通常希望这样做)。 — 塞巴斯蒂安·穆勒 source
1 我走了,尽管有些迟了,但也许您已经解决了您的疑问;)我在任何评论中都没有看到我对vim有所了解的方式,因此,我添加了它: 编辑文件后,按:w或:wq,然后看到令人讨厌的消息“ E45'readonly'选项已设置(添加!覆盖) ” 您可以输入 :w !sudo tee % w 写缓冲区, !sudo 用sudo调用shell, teevim :w使用tee将输出重定向到输出,并且 % 是当前文件名 这应该可以解决问题。注意,这将提示您重新加载vim中的文件,因为您必须按L — xCovelus source
!
在w
命令中添加a 即可。