ในโปรแกรมแก้ไขข้อความ
สามารถติดตั้งตัวเลือกได้จำนวนจำกัดผ่านโมเดลไลน์เท่านั้น หากมีการระบุนิพจน์เป็นค่าตัวเลือก นิพจน์นั้นจะดำเนินการในโหมดแซนด์บ็อกซ์ ซึ่งอนุญาตเฉพาะการดำเนินการที่ปลอดภัยที่ง่ายที่สุดเท่านั้น ในกรณีนี้ คำสั่งที่ถูกต้องจะมีคำสั่ง “:source” ซึ่งคุณสามารถใช้ตัวแก้ไข “!” ได้ เพื่อรันคำสั่งที่กำหนดเองจากไฟล์ที่ระบุ ดังนั้น ในการรันโค้ด ก็เพียงพอแล้วที่จะระบุโครงสร้างเช่น “set foldexpr=execute('\:source! some_file'):" ในบรรทัดโมเดลไลน์ ใน Neovim ห้ามเรียกใช้การเรียกใช้งาน แต่สามารถใช้ assert_fails แทนได้
ตัวอย่างเช่น หากต้องการรันคำสั่ง “uname -a” เพียงเปิดไฟล์ใน Vim หรือ Neovim ซึ่งบรรทัดแรกหรือบรรทัดสุดท้ายระบุว่า:
:!uname -a||» vi:fen:fdm=expr:fde=assert_fails(“แหล่งที่มา\!\ \%”):fdl=0:fdt=”
บริษัท “ที่มา! %" จะอ่านคำสั่งจากไฟล์ปัจจุบันและดำเนินการตาม ":!uname -a" ลำดับ Escape สามารถใช้เพื่อซ่อนบรรทัดที่กำหนดจากเอาต์พุตโดยยูทิลิตี้ cat ยกตัวอย่างในเรื่องนี้
คุณสามารถตรวจสอบกิจกรรมของโหมดโมเดลไลน์ได้ด้วยคำสั่ง “:set modeline?” หากต้องการปิดใช้งานคุณสามารถเพิ่มบรรทัด “set nomodeline” ลงใน vimrc ในการแจกแจงปัญหาได้รับการแก้ไขแล้ว
ที่มา: opennet.ru