Տեքստային խմբագրիչներում
Modeline-ի միջոցով կարող են սահմանվել միայն սահմանափակ թվով տարբերակներ: Եթե արտահայտությունը նշված է որպես օպցիոնի արժեք, ապա այն կատարվում է sandbox ռեժիմում, որը թույլ է տալիս օգտագործել միայն ամենապարզ անվտանգ գործողությունները: Միևնույն ժամանակ «: source» հրամանը վավերականների թվում է, որում կարող եք օգտագործել «!» փոփոխիչը։ նշված ֆայլից կամայական հրամաններ գործարկելու համար: Այսպիսով, կոդը գործարկելու համար բավական է մոդելային տողում նշել այնպիսի կառուցվածք, ինչպիսին է «set foldexpr=execute('\:source! some_file'):»: Neovim-ը թույլ չի տալիս կատարել զանգը, բայց դրա փոխարեն կարող եք օգտագործել assert_fails-ը:
Օրինակ՝ «uname -a» հրամանը կատարելու համար պարզապես բացեք ֆայլ Vim-ում կամ Neovim-ում, որի առաջին կամ վերջին տողում ասվում է.
:!ունամ -ա||» vi:fen:fdm=expr:fde=assert_fails("աղբյուր\!\ \%"):fdl=0:fdt="
Աղբյուրը! %"-ը կկարդա հրամանները ընթացիկ ֆայլից և համապատասխանաբար կկատարի ":!uname -a"-ը: Cat utility-ը կարող է օգտագործել escape sequences՝ տվյալ տողը ելքից թաքցնելու համար: Օրինակ՝ սրա մեջ
Կարող եք ստուգել, թե արդյոք մոդելի ռեժիմն ակտիվ է «:set modeline?» հրամանով։ Այն անջատելու համար կարող եք ավելացնել «set nomodeline» տողը vimrc-ում: Բաշխումներում խնդիրը շտկված է
Source: opennet.ru