Cara memastikan tidak ada perubahan pada file


11

Apakah ada di sana saya bisa memastikan file terkunci sehingga saya tidak dapat melakukan perubahan padanya. Apakah ada perintah untuk mengunci / membuka kunci file di vim. Beberapa kali saya ingin file dalam mode readonly.

Jawaban:


12

Anda dapat mengatur file untuk hanya membaca dan tidak dapat dimodifikasi

:set readonly
:set nomodifiable

Untuk bantuan lebih lanjut lihat:

:h 'readonly'
:h 'modifiable'

1
Anda juga dapat menggunakan vim -Ratau viewuntuk secara otomatis membuka file dengan readonlyset (lihat :help -R).
Martin Tournoij

9

Cara termudah adalah membuka file menggunakan -Rflag saat membuka file untuk mengatur readonlyopsi.

vim -R filename.txt
vi -R filename.txt

Untuk Vim, Anda dapat menggunakan perintah viewsaat membuka file, yang setara dengan vim -R:

view filename.txt

Perhatikan bahwa opsi hanya baca tidak mencegah penulisan paksa . Jika Anda menggunakan :w!file tersebut akan ditulis apa pun. Namun, sebagai langkah pengamanan untuk "look don't touch", -Rbisa sangat membantu dalam mencegah penulisan yang tidak disengaja.

Solusi lain yang dapat Anda gunakan adalah membuka buffer file kosong, dan membaca file yang ingin Anda lihat:

vim
# Then, from inside vim:
:r filename.txt

Ini cukup aman karena Anda memiliki buffer tanpa nama — Anda tidak dapat secara tidak sengaja menimpa file yang Anda baca (walaupun Anda bisa melakukannya dengan sengaja jika Anda mengetikkan nama file lagi). Namun Anda mungkin tidak mendapatkan sorotan sintaksis otomatis dengan cara ini, tergantung pada pengaturan Anda.


Pada banyak Unices, viewbiner seringkali merupakan hard-link dari vibinary, dan pada sistem itu, bahkan secara reguler vi, ketika melihatnya dipanggil view, akan membuka file dalam mode read-only. Jadi bukan vim-only
Olivier Dulac

@OlivierDulac, mungkin tidak, tapi saya tidak melihatnya ditentukan dalam POSIX — baik untukex atau untukvi . vi -R adalah ditentukan.
Wildcard

Poin yang bagus. Terpilih.
Olivier Dulac
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.