无论如何,我可以确保文件已锁定,因此无法对其进行任何更改。是否有用于锁定/解锁vim中文件的命令。有时我希望文件处于只读模式。

#1 楼

您可以将文件设置为只读且不可修改。

:set readonly
:set nomodifiable


有关更多帮助,请参见:

评论


您也可以使用vim -R或view自动打开具有只读设置的文件(请参见:help -R)。

–马丁·图尔诺伊(Martin Tournoij)
16年4月1日在1:18

#2 楼

最简单的方法是在打开文件时使用-R标志打开文件以设置readonly选项。

vim -R filename.txt
vi -R filename.txt


对于Vim,打开时可以使用命令view一个相当于vim -R的文件:

view filename.txt


请注意,readonly选项不会阻止强制写入。如果使用:w!,则无论如何都将写入文件。但是,作为一种“看起来不要碰”的安全措施,-R可以非常有助于防止意外写入。您要查看的文件:

vim
# Then, from inside vim:
:r filename.txt


这是相当安全的,因为您有一个未命名的缓冲区-您不能不小心覆盖读取的文件(尽管您可以如果您再次输入文件名,请故意这样做)。但是,根据您的设置,您可能无法通过这种方式自动突出显示语法。

评论


在许多Unices上,视图二进制文件通常是vi二进制文件的硬链接,并且在那些系统上,即使是常规的vi,当它被视为视图调用时,也会以只读模式打开文件。因此,它不仅限于vim

–奥利维尔·杜拉克(Olivier Dulac)
16年4月1日在12:18



@OlivierDulac,也许不是,但是我没有看到它在POSIX中指定-无论是ex还是vi。 vi -R已指定。

–通配符
16年4月1日在16:22

好点子。已投票。

–奥利维尔·杜拉克(Olivier Dulac)
16年4月1日在17:38