Как открыть файл в vim в режиме только для чтения в Linux/Unix

Как открыть файл в vim в режиме только для чтения в Linux/Unix

Life-Hack

Мне нужно открыть необходимые файлы в режиме чтения (только для чтения), чтобы избежать случайного редактирования таких файлов, как /etc/resolv.conf или большой файл конфигурации или файл программирования на производственном сервере. Как открыть файлы в режиме только для чтения в текстовом редакторе vim в Linux или Unix-подобной системе?

Вы можете запустить текстовый редактор vim или vi в режиме только для чтения. Вы будете защищены от написания файлов. Существуют различные способы достижения режима защиты от записи в vim.

Как открыть файл в режиме только для чтения:

  1. Используйте команду view в vim. Синтаксис выглядит следующим образом: view {file-name}
  2. Используйте опцию командной строки vim/vi. Синтаксис выглядит следующим образом: vim -R {file-name}
  3. Изменения невозможны с помощью опции командной строки: Синтаксис выглядит следующим образом: 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 принудительно изменяет файлы. Она сбрасывает опцию ‘write‘. Вы все равно можете изменить буфер, но запись файла вообще невозможна:

$ vim -m mycode.py

Опция -M заставляет опции «modifiable» и «write» отменяться, поэтому изменения не допускаются, и файлы не могут быть записаны

$ vim -M my-service.sh

Если вы попытаетесь вставить или изменить текст, вы получите сообщение об ошибке на экране: «E21: Cannot make changes, ‘modifiable’ is off»:

Примечание об открытии вкладки в режиме только для чтения в vim / vi

Если вы захотите открыть новую вкладку, синтаксис будет выглядеть следующим образом:

:tab sview file

ИЛИ открыть в одной области экрана:

:view file

Например, отредактируйте /etc/nginx/nginx.conf в режиме только для чтения:

$ sudo vim -M /etc/nginx/nginx.conf

Теперь откройте файл с именем /etc/nginx/conf.d/cyberciti.biz.conf или /etc/nginx/conf.d/default.conf в режиме только для чтения на новой вкладке, для этого используйте:

:tab sview /etc/nginx/conf.d/default.conf

Чтобы перейти к следующему типу вкладок:

:tabn

Чтобы перейти к предыдущему типу вкладок:

:tabp

Чтобы перечислить все вкладки, введите:

:tabs

Примеры возможных выводов данных:

Источник




Report Page