有没有办法在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
。
我知道,如果您先更改文件的权限并进行编辑,然后还原其权限,那么您可以成功编辑它...但我不想打扰这样一个单调乏味的事情......
感谢。
答案 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文章。