如何在Linux/Unix上以只读模式在vim中打开文件
时间:2020-01-09 10:40:33 来源:igfitidea点击:
如何以读取(只读)模式打开必要的文件,以避免意外编辑诸如/etc/resolv.conf或生产服务器上的大型配置文件或编程文件之类的文件。
在Linux或类似Unix的系统上,如何在vim文本编辑器中以只读模式打开文件?
您可以以只读模式启动vim或vi文本编辑器。
您将受到保护,无法写入文件。
在vim中有多种方法可以实现写保护模式。
如何以只读模式打开文件:
- 在vim中使用view命令。语法是:
view {file-name}
- 使用vim/vi命令行选项。语法是:
vim -R {file-name}
- 使用命令行选项不允许修改:语法为:
vim -M {file-name}
选项
最简单的语法是:
$ view my-important.file
如果尝试写,将出现以下错误:
E45: 'readonly' option is set (add ! to override)
因此,只需添加!强制覆盖它:
:w!
或者
:x!
-R选项强制为只读模式。
将设置只读选项。
您仍然可以编辑缓冲区,但是可以防止意外覆盖文件。
如果确实要覆盖文件,请在Ex命令中添加一个感叹号,如:w!
或:x!
一样。
# vim -R /etc/httpd/httpd.conf
如果您进行了某些修改并想要强行保存,请执行:
:w!
-m选项强制修改文件为禁用模式。
重置写选项。
您仍然可以修改缓冲区,但是根本无法写入文件:
$ vim -m mycode.py
-M选项强制取消可修改和写入选项的设置,因此不允许进行更改并且不能写入文件。
$ vim -M my-service.sh
如果尝试插入或修改文本,则会在屏幕上出现错误,E21:不能进行更改,可修改处于关闭状态:
使用-M选项以只读模式在vim中的选项卡中打开文件
关于在vim/vi中以只读模式打开选项卡的说明
语法如下所示,以打开一个新选项卡:
:tab sview file
或在同一窗格中打开:
:view file
例如,以只读模式编辑/etc/nginx/nginx.conf:
$ sudo vim -M /etc/nginx/nginx.conf
现在,在新选项卡中以只读模式打开一个名为/etc/nginx/conf.d/theitroad.local.conf或/etc/nginx/conf.d/default.conf的文件,使用:
:tab sview /etc/nginx/conf.d/default.conf
要转到下一个标签类型:
:tabn
要转到上一个标签类型:
:tabp
要列出所有选项卡,请执行:
:tabs