在GVim上编辑只读文件

时间:2013-09-17 23:27:46

标签: vim vi macvim

有没有办法在GVim上编辑只读文件?

如果在控制台上使用vim,sudo vim /path/to/file可以编辑只读文件。如何在已打开的MacVim窗口上编辑它?

如果您打开:tabnew /path/to/file然后对其进行编辑,并尝试保存,则会出现错误xx is read-only (add ! to override)。但是,当您尝试按:w!保存时,仍会出现错误xx Can't open file for reading

我知道,如果您先更改文件的权限并进行编辑,然后还原其权限,那么您可以成功编辑它...但我不想打扰这样一个单调乏味的事情......

感谢。

3 个答案:

答案 0 :(得分:4)

MacVim附带mvim,这是一个命令行包装器,允许您使用$ mvim filename从命令行启动MacVim GUI,并使用{{1}直接在shell中启动MacVim CLI可执行文件}。

两者都可以与$ mvim -v filename配合使用,因此您可以完美地sudo在新的MacVim窗口中使用写权限打开$ sudo mvim filename,或filename在当前执行相同操作MacVim窗口。

答案 1 :(得分:3)

更改权限/所有者:

:!chown myuser %
:!chmod +w %

或者通过管道使用sudo写:

:w !sudo tee %

答案 2 :(得分:1)

如果您发现tee难以记住/难以输入的技巧,那么还有SudoEdit plugin,它定义了一个方便的:SudoWrite命令。

另请参阅Vim Tips Wiki上的Su-write文章。