При использовании Vim для редактирования файла только для чтения он просто выдаст предупреждение при первом редактировании, но разрешит любые изменения. Я понимаю, что такое поведение может быть полезно для кого-то, намеревающегося сохранить файл под другим именем; но я иногда открываю файлы, к которым у меня нет прав на запись, затем забываю и делаю изменения.
Можно ли войти в режим, в котором Vim разрешит просмотр файла, но заблокирует любой параметр, который вносит изменения?
filetype
formatting
ZeroKelvinKeyboard
источник
источник
let &modifiable = !&readonly
autocmd BufRead * let &modifiable = !&readonly
readonly
файла и создания нового буфера новый буфер заканчиваетсяnomodifiable
.Добавьте это к вашему .vimrc:
источник
Поскольку приведенные выше ответы верны, необходимо принять во внимание еще одну вещь: пока файл «только для чтения», не должно быть никакого способа изменить содержимое файла, если вы не являетесь владельцем файла или имеют право сделать этот файл доступным для записи. И даже тогда vim не записывает изменения в файл, если вы явно не переопределите состояние «только для чтения» с помощью «: w!».
Если вы на самом деле можете редактировать файл, который должен быть только для чтения, вы можете перепроверить права, возможно, неверная конфигурация безопасности. Если вы только сделаете vim неспособным отредактировать файл, другие способы редактирования все еще будут на месте, поэтому, если файл не должен быть изменен, у него должны быть правильно установлены права. В Windows вы можете заставить файл быть доступным только для чтения, явно отказав всем в праве на изменение, в Linux вы можете использовать расширенный атрибут «неизменный» (chattr + i).
источник