Saat menggunakan Vim untuk mengedit file hanya baca, itu hanya akan memberikan peringatan saat pertama kali diedit tetapi memungkinkan perubahan apa pun terjadi. Saya dapat memahami perilaku ini dapat bermanfaat bagi seseorang yang bermaksud menyimpan file dengan nama lain; tapi kadang-kadang saya membuka file yang saya tidak punya akses untuk menulis, lalu lupa dan buat perubahan.
Apakah mungkin untuk memasuki mode di mana Vim akan memungkinkan file untuk dilihat tetapi memblokir opsi apa pun yang membuat perubahan?
sumber
let &modifiable = !&readonly
autocmd BufRead * let &modifiable = !&readonly
readonly
file dan kemudian membuat buffer baru, buffer baru berakhirnomodifiable
.Tambahkan ini ke .vimrc Anda:
sumber
Sebanyak jawaban di atas benar, ada hal lain yang harus diperhitungkan: selama file tersebut "hanya-baca", seharusnya tidak ada cara untuk mengubah konten file kecuali Anda adalah pemilik file atau memiliki hak untuk membuat file itu dapat ditulisi. Dan bahkan vim tidak menulis perubahan pada file kecuali Anda secara eksplisit menimpa "read-only" state by ": w!".
Jika Anda sebenarnya dapat mengedit file yang seharusnya hanya-baca, Anda mungkin ingin memeriksa kembali haknya, mungkin ada kesalahan konfigurasi keamanan. Jika Anda hanya membuat vim tidak dapat mengedit file, cara-cara lain untuk mengedit masih akan ada sehingga jika file tidak akan diubah, itu harus memiliki hak yang ditetapkan dengan benar. Di windows, Anda dapat memaksa file untuk hanya-baca dengan secara eksplisit menolak perubahan untuk semua orang, di Linux Anda dapat menggunakan atribut extended "immutable" (chattr + i).
sumber