如何确保未对文件进行任何更改


11

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

Answers:


12

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

:set readonly
:set nomodifiable

有关更多帮助,请参见:

:h 'readonly'
:h 'modifiable'

1
您还可以使用vim -Rview自动打开带有readonlyset 的文件(请参阅参考资料:help -R)。
马丁·图尔诺伊

9

最简单的方法是在打开-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上,view二进制文件通常是二进制文件的硬链接vi,并且在那些系统上,即使常规的vi(在看到它被作为调用时)也view将以只读模式打开文件。因此,它不仅限于vim
Olivier Dulac

@OlivierDulac,也许不是,但我没有看到它在指定的POSIX -无论是exvivi -R 指定。
通配符

好点子。已投票。
奥利维尔·杜拉克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.