စာသားတည်းဖြတ်သူများတွင်
ကန့်သတ်အရေအတွက်ကိုသာ modeline မှတစ်ဆင့် ထည့်သွင်းနိုင်သည်။ ဖော်ပြချက်တစ်ခုကို ရွေးချယ်မှုတန်ဖိုးအဖြစ် သတ်မှတ်ထားပါက၊ ၎င်းကို အရိုးရှင်းဆုံး ဘေးကင်းသော လုပ်ဆောင်မှုများကိုသာ ခွင့်ပြုသည့် sandbox မုဒ်တွင် လုပ်ဆောင်သည်။ ဤကိစ္စတွင်၊ မှန်ကန်သောအမိန့်တော်တွင် သင်သည် “!” ပြုပြင်မွမ်းမံမှုကို အသုံးပြုနိုင်သည့် “:source” အမိန့် ပါဝင်သည်။ သတ်မှတ်ထားသော ဖိုင်မှ မတရားသော ညွှန်ကြားချက်များကို လုပ်ဆောင်ရန်။ ထို့ကြောင့်၊ ကုဒ်ကိုလုပ်ဆောင်ရန်၊ "set foldexpr=execute('\:source! some_file'):" ကဲ့သို့ တည်ဆောက်မှုပုံစံကို modeline line တွင် ညွှန်ပြရန် လုံလောက်ပါသည်။ Neovim တွင်၊ execute ခေါ်ဆိုခြင်းကို တားမြစ်ထားသော်လည်း assert_fails အစား အသုံးပြုနိုင်မည်ဖြစ်သည်။
ဥပမာအားဖြင့်၊ “uname -a” command ကို run ရန်၊ ပထမဆုံး သို့မဟုတ် နောက်ဆုံးစာကြောင်းပြောထားသည့် Vim သို့မဟုတ် Neovim တွင် ဖိုင်တစ်ခုကို ဖွင့်ပါ။
:!uname -a||» vi:fen:fdm=expr:fde=asssert_fails("အရင်းအမြစ်\!\ \%"):fdl=0:fdt=”
ကုမ္ပဏီ "အရင်းအမြစ်! %" သည် လက်ရှိဖိုင်မှ ညွှန်ကြားချက်များကို ဖတ်ပြီး ":!uname -a" နှင့်အညီ လုပ်ဆောင်ပါမည်။ Cat utility မှ ပေးထားသည့် လိုင်းတစ်ခုကို အထွက်မှ ဖျောက်ရန် Escape sequences ကို သုံးနိုင်သည်။ ဥပမာအားဖြင့်၊ ဤ၌
":set modeline?" အမိန့်ဖြင့် မော်ဒယ်လ်မုဒ်၏ လုပ်ဆောင်ချက်ကို စစ်ဆေးနိုင်သည်။ ၎င်းကိုပိတ်ရန်၊ သင်သည် vimrc သို့ "set nomodeline" လိုင်းကိုထည့်နိုင်သည်။ ဖြန့်ဖြူးမှုတွင် ပြဿနာကို ဖြေရှင်းသည်။
source: opennet.ru