Tekstieditoreissa
Vain rajoitettu määrä vaihtoehtoja voidaan asentaa Modelinen kautta. Jos lauseke määritetään vaihtoehdon arvoksi, se suoritetaan hiekkalaatikkotilassa, joka sallii vain yksinkertaisimmat turvalliset toiminnot. Tässä tapauksessa kelvollinen komento sisältää ":source"-komennon, jossa voit käyttää "!"-muuttajaa. suorittaa mielivaltaisia komentoja määritetystä tiedostosta. Siten koodin suorittamiseksi riittää, että mallirivillä ilmoitetaan konstruktio, kuten "set foldexpr=execute('\:source! some_file'):". Neovimissa execute:n kutsuminen on kielletty, mutta assert_fails-komentoa voidaan käyttää sen sijaan.
Esimerkiksi "uname -a" -komennon suorittamiseksi avaa vain tiedosto Vimissä tai Neovimissa, jonka ensimmäisellä tai viimeisellä rivillä lukee:
:!uname -a||» vi:fen:fdm=expr:fde=assert_fails("lähde\!\ \%"):fdl=0:fdt="
Yritys "lähde! %" lukee komennot nykyisestä tiedostosta ja suorittaa vastaavasti ":!uname -a". Escape-sarjoja voidaan käyttää piilottamaan tietty rivi cat-apuohjelman tulosteelta. Esimerkiksi tässä
Voit tarkistaa Modeline-tilan toiminnan komennolla “:set modeline?”. Voit poistaa sen käytöstä lisäämällä rivin "set nomodeline" kohtaan vimrc. Jakeluissa ongelma on korjattu
Lähde: opennet.ru