มีอยู่แล้วฉันสามารถตรวจสอบให้แน่ใจว่าไฟล์ถูกล็อคเพื่อที่ฉันไม่สามารถทำการเปลี่ยนแปลงใด ๆ กับมัน มีคำสั่งสำหรับการล็อค / ปลดล็อคไฟล์ในกลุ่ม บางครั้งฉันต้องการไฟล์ให้อยู่ในโหมดอ่านอย่างเดียว
มีอยู่แล้วฉันสามารถตรวจสอบให้แน่ใจว่าไฟล์ถูกล็อคเพื่อที่ฉันไม่สามารถทำการเปลี่ยนแปลงใด ๆ กับมัน มีคำสั่งสำหรับการล็อค / ปลดล็อคไฟล์ในกลุ่ม บางครั้งฉันต้องการไฟล์ให้อยู่ในโหมดอ่านอย่างเดียว
คำตอบ:
คุณสามารถตั้งค่าไฟล์เป็นแบบอ่านอย่างเดียวและไม่สามารถแก้ไขได้
:set readonly
:set nomodifiable
สำหรับความช่วยเหลือเพิ่มเติมดู:
:h 'readonly'
:h 'modifiable'
วิธีที่ง่ายที่สุดคือเปิดไฟล์โดยใช้-R
แฟล็กเมื่อเปิดไฟล์เพื่อตั้งค่าreadonly
ตัวเลือก
vim -R filename.txt
vi -R filename.txt
สำหรับ Vim คุณสามารถใช้คำสั่งview
เมื่อเปิดไฟล์ซึ่งเทียบเท่ากับvim -R
:
view filename.txt
โปรดทราบว่าตัวเลือกที่อ่านได้อย่างเดียวไม่ได้ป้องกันการเขียนบังคับ หากคุณใช้:w!
ไฟล์จะถูกเขียนโดยไม่คำนึงถึง อย่างไรก็ตามเนื่องจากมาตรการด้านความปลอดภัยสำหรับ "ลุคดูไม่ได้สัมผัส" -R
จะมีประโยชน์มากในการป้องกันการเขียนโดยไม่ตั้งใจ
วิธีแก้ปัญหาอื่นที่คุณสามารถใช้คือเปิดบัฟเฟอร์ไฟล์ที่ว่างเปล่าและอ่านในไฟล์ที่คุณต้องการดู:
vim
# Then, from inside vim:
:r filename.txt
สิ่งนี้ค่อนข้างปลอดภัยเนื่องจากคุณมีบัฟเฟอร์ที่ไม่มีชื่อ - คุณไม่สามารถเขียนทับไฟล์ที่คุณอ่านโดยไม่ได้ตั้งใจ (แม้ว่าคุณสามารถทำได้โดยจงใจหากคุณพิมพ์ชื่อไฟล์อีกครั้ง) อย่างไรก็ตามคุณอาจไม่ได้รับการเน้นไวยากรณ์อัตโนมัติด้วยวิธีนี้ทั้งนี้ขึ้นอยู่กับการตั้งค่าของคุณ
view
ไบนารีมักจะเป็นฮาร์ดลิงก์ของvi
ไบนารีและในระบบเหล่านั้นแม้เป็นปกติvi
เมื่อเห็นว่ามันถูกเรียกใช้view
แล้วจะเปิดไฟล์ในโหมดอ่านอย่างเดียว ดังนั้นมันจึงไม่ได้เป็นเสียงเรียกเข้าเท่านั้น
vim -R
หรือview
เพื่อเปิดไฟล์โดยอัตโนมัติด้วยreadonly
ชุด (ดู:help -R
)