Dosyada hiçbir değişiklik yapılmadığından nasıl emin olunur?


11

Zaten ben herhangi bir değişiklik yapamam böylece bir dosya kilitli olduğundan emin olabilir misiniz. Vim'de bir dosyayı kilitleme / kilidini açma komutu var mı? Bazı zamanlarda ben bir dosya salt okunur modda olmasını istiyorum.

Yanıtlar:


12

Dosyayı salt okunur olacak ve değiştirilemez olarak ayarlayabilirsiniz

:set readonly
:set nomodifiable

Daha fazla yardım için bkz:

:h 'readonly'
:h 'modifiable'

1
Ayrıca set ile bir dosyayı otomatik olarak açmak için vim -Rveya tuşunu da kullanabilirsiniz (bkz. ). viewreadonly:help -R
Martin Tournoij

9

En kolay yol, seçeneği -Rayarlamak için dosyayı açarken bayrağı kullanarak dosyayı readonlyaçmaktır.

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

Vim için, viewbir dosyayı açarken bu komutu kullanabilirsiniz vim -R:

view filename.txt

Salt okunur seçeneğin zorla yazmayı engellemediğini unutmayın . Kullanırsanız :w!dosya ne olursa olsun yazılacaktır. Ancak, "görünüm dokunmayın" için bir güvenlik önlemi olarak, -Ryanlışlıkla yazmayı önlemek için çok yararlı olabilir.

Kullanabileceğiniz başka bir geçici çözüm, boş bir dosya arabelleği açmak ve bakmak istediğiniz dosyada okumaktır:

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

Adsız bir ara belleğe sahip olduğunuz için bu oldukça güvenlidir ; yanlışlıkla okuduğunuz dosyanın üzerine yazamazsınız (dosya adını tekrar yazdıysanız bunu kasten yapabilirsiniz). Ancak, ayarlarınıza bağlı olarak bu sözdizimini otomatik olarak vurgulayabilirsiniz.


Birçok Unice'de, viewikili dosya genellikle ikili dosyaların sabit bir bağlantısıdır vive bu sistemlerde, viçağrıldığını gördüğü zaman bile view, dosyayı salt okunur modda açar. Yani sadece vim değil
Olivier Dulac

@OlivierDulac, belki değil, ama-ya POSIX'deki belirtilen görmüyorum içinex veya içinvi . vi -R olduğu belirtilmiş.
Wildcard

İyi bir nokta. Upvoted.
Olivier Dulac
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.