Teksto rengyklėse
Per „Modeline“ galima įdiegti tik ribotą parinkčių skaičių. Jei išraiška nurodoma kaip parinkties reikšmė, ji vykdoma smėlio dėžės režimu, kuris leidžia atlikti tik paprasčiausias saugias operacijas. Šiuo atveju galiojanti komanda apima komandą „:source“, kurioje galite naudoti modifikatorių „! paleisti savavališkas komandas iš nurodyto failo. Taigi, norint įvykdyti kodą, modelio eilutėje pakanka nurodyti tokią konstrukciją kaip „set foldexpr=execute('\:source! some_file'):“. Neovim programoje iškviesti execute yra draudžiama, tačiau vietoj jos galima naudoti assert_fails.
Pavyzdžiui, norėdami paleisti komandą „uname -a“, tiesiog atidarykite failą Vim arba Neovim, kurio pirmoji arba paskutinė eilutė sako:
:!uname -a||» vi:fen:fdm=expr:fde=assert_fails(“šaltinis\!\ \%”):fdl=0:fdt=”
Įmonė „Šaltinis! %" nuskaitys komandas iš esamo failo ir atitinkamai vykdys ":!uname -a". Pabėgimo sekos gali būti naudojamos tam, kad paslėptumėte nurodytą eilutę nuo cat programinės įrangos išvesties. Pavyzdžiui, šioje
Modeline režimo aktyvumą galite patikrinti su komanda „:set modeline?“. Norėdami jį išjungti, prie vimrc galite pridėti eilutę „set nomodeline“. Paskirstymuose problema išspręsta
Šaltinis: opennet.ru