Negli editor di testo
Solo un numero limitato di opzioni può essere installato tramite modeline. Se un'espressione viene specificata come valore di opzione, viene eseguita in modalità sandbox, che consente solo le operazioni sicure più semplici. In questo caso, il comando valido include il comando “:source”, in cui è possibile utilizzare il modificatore “!”. per eseguire comandi arbitrari dal file specificato. Pertanto, per eseguire il codice, è sufficiente indicare nella riga modeline una costruzione del tipo “set foldexpr=execute('\:source! some_file'):". In Neovim, la chiamata aexe è vietata, ma è possibile utilizzare assert_fails.
Ad esempio, per eseguire il comando “uname -a”, è sufficiente aprire un file in Vim o Neovim la cui prima o ultima riga dice:
:!uname -a||» vi:fen:fdm=expr:fde=assert_fails(“source\!\ \%”):fdl=0:fdt="
Azienda “fonte! %" leggerà i comandi dal file corrente e di conseguenza eseguirà ":!uname -a". Le sequenze di escape possono essere utilizzate per nascondere una determinata riga dall'output dell'utilità cat. Ad esempio, in questo
Puoi controllare l'attività della modalità modeline con il comando “:set modeline?”. Per disabilitarlo, puoi aggiungere la riga "set nomodeline" a vimrc. Nelle distribuzioni il problema è risolto
Fonte: opennet.ru