Ao usar o Vim para editar um arquivo somente leitura, ele fornecerá apenas um aviso na primeira vez em que for editado, mas permitirá que ocorram alterações. Entendo que esse comportamento pode ser útil para alguém que pretenda salvar o arquivo com outro nome; mas às vezes abro arquivos aos quais não tenho acesso de gravação, depois esqueço e faço alterações.
É possível entrar em um modo em que o Vim permita a visualização do arquivo, mas bloqueie qualquer opção que faça alterações?
filetype
formatting
ZeroKelvinKeyboard
fonte
fonte
let &modifiable = !&readonly
autocmd BufRead * let &modifiable = !&readonly
readonly
arquivo e criar um novo buffer, o novo buffer terminanomodifiable
.Adicione isso ao seu .vimrc:
fonte
Na medida em que as respostas acima estiverem corretas, há outra coisa a ser levada em consideração: desde que o arquivo seja "somente leitura", não haverá como alterar o conteúdo do arquivo, a menos que você seja o proprietário ou tem o direito de tornar esse arquivo gravável. E mesmo assim o vim não grava alterações no arquivo, a menos que você substitua explicitamente o estado "somente leitura" por ": w!".
Se, de fato, você pode editar um arquivo que deveria ser somente leitura, convém verificar novamente os direitos, pode haver uma configuração incorreta de segurança. Se você tornar o vim incapaz de editar o arquivo, outras formas de edição ainda estarão disponíveis; portanto, se o arquivo não for alterado, ele deverá ter os direitos definidos corretamente. No Windows, você pode forçar o arquivo a ser somente leitura, negando explicitamente a alteração a todos, no Linux você pode usar o atributo estendido "imutável" (chattr + i).
fonte