I textredigerare
Endast ett begränsat antal tillval kan installeras via modellen. Om ett uttryck anges som ett alternativvärde, exekveras det i sandlådeläge, vilket endast tillåter de enklaste säkra operationerna. I det här fallet inkluderar det giltiga kommandot kommandot ":source", där du kan använda modifieraren "!". för att köra godtyckliga kommandon från den angivna filen. För att exekvera koden räcker det alltså att på modelllinjen indikera en konstruktion som "set foldexpr=execute('\:source! some_file'):". I Neovim är det förbjudet att anropa execute, men assert_fails kan användas istället.
Till exempel, för att köra kommandot "uname -a", öppna helt enkelt en fil i Vim eller Neovim vars första eller sista rad säger:
:!uname -a||» vi:fen:fdm=expr:fde=assert_fails(“källa\!\ \%”):fdl=0:fdt=”
Företaget "källa! %" kommer att läsa kommandona från den aktuella filen och följaktligen köra ":!uname -a". Escape-sekvenser kan användas för att dölja en given rad från utdata från cat-verktyget. Till exempel i detta
Du kan kontrollera aktiviteten i modellinläget med kommandot ":set modeline?". För att inaktivera det kan du lägga till raden "set nomodeline" till vimrc. I distributioner är problemet fixat i
Källa: opennet.ru