У тэкставых рэдактарах
Праз modeline дапушчаецца ўсталёўка толькі абмежаванай колькасці опцый. Калі ў якасці значэння опцыі паказваецца выраз, тое яно выконваецца ў рэжыме sandbox, які дапушчае ўжыванне толькі найпростых бяспечных аперацый. Пры гэтым у лік дапушчальных уваходзіць каманда ":source", у якой можна выкарыстоўваць мадыфікатар "!" для запуску адвольных каманд з указанага файла. Такім чынам для выканання кода досыць паказаць у радку modeline канструкцыю выгляду "set foldexpr=execute('\:source! some_file'):". У Neovim выклік execute забаронены, але замест яго можна выкарыстоўваць assert_fails.
Напрыклад, для выканання каманды "uname -a" дастаткова проста адкрыць у Vim або Neovim файл, у першым ці апошнім радку якога паказана:
:!uname -a||» vi:fen:fdm=expr:fde=assert_fails("source\!\%"):fdl=0:fdt=»
Каманда «source! %» прачытае каманды з бягучага файла і, адпаведна, выканае «:!uname -a». Для ўтойвання дадзенага радка ад вываду ўтылітай cat могуць выкарыстоўвацца escape-паслядоўнасці. Напрыклад, у дадзеным
Праверыць актыўнасць рэжыму modeline можна камандай ": set modeline?". Для адключэння ў vimrc можна дадаць радок "set nomodeline". У дыстрыбутывах праблема ўхіленая ў
Крыніца: opennet.ru