စာသားတည်းဖြတ်သူ Vim 9.0 ကိုဖြန့်ချိသည်။

နှစ်နှစ်ခွဲကြာ ဖွံ့ဖြိုးတိုးတက်ပြီးနောက်၊ စာသားတည်းဖြတ်သူ Vim 9.0 ကို ထုတ်ဝေခဲ့သည်။ Vim ကုဒ်ကို ၎င်း၏ကိုယ်ပိုင်မိတ္တူလက်ဝဲလိုင်စင်အောက်တွင် ဖြန့်ဝေထားပြီး GPL နှင့် တွဲဖက်အသုံးပြုနိုင်ပြီး ကုဒ်ကို အကန့်အသတ်မရှိအသုံးပြုခြင်း၊ ဖြန့်ဖြူးခြင်းနှင့် ပြန်လည်လုပ်ဆောင်ခြင်းကို ခွင့်ပြုပါသည်။ Vim လိုင်စင်၏ အဓိကအင်္ဂါရပ်မှာ အပြောင်းအလဲများ၏ ပြောင်းပြန်လှန်ခြင်းနှင့် သက်ဆိုင်သည် - Vim ထိန်းသိမ်းသူမှ အဆိုပါ တိုးတက်မှုများကို အာရုံစိုက်သင့်သည်ဟု ယူဆကာ သက်ဆိုင်ရာ တောင်းဆိုချက်ကို တင်ပြပါက ပြင်ပကုမ္ပဏီ ထုတ်ကုန်များတွင် အကောင်အထည်ဖော်သည့် တိုးတက်မှုများကို မူလပရောဂျက်သို့ လွှဲပြောင်းရမည်ဖြစ်သည်။ ဖြန့်ဖြူးမှုအမျိုးအစားအရ Vim ကို Charityware အဖြစ် အမျိုးအစားခွဲခြားထားသည်။ ပရိုဂရမ်ကိုရောင်းချခြင်း သို့မဟုတ် ပရောဂျက်လိုအပ်ချက်များအတွက် အလှူငွေကောက်ခံခြင်းအစား Vim ၏ရေးသားသူများသည် အဆိုပါပရိုဂရမ်ကိုနှစ်သက်ပါက မည်သည့်ပမာဏကိုမဆို လှူဒါန်းရန် တောင်းဆိုကြသည်။

Vim 9 သည် JavaScript၊ TypeScript နှင့် Java တို့နှင့် ဆင်တူသော syntax ကိုပေးဆောင်သည့် Vim9 Script သည် scripts များနှင့် plugins များဖန်တီးရန်အတွက် ဘာသာစကားအသစ်ကိုပေးပါသည်။ အထားအသိုအသစ်သည် စတင်လေ့လာသူများအတွက် ပိုမိုလွယ်ကူသော်လည်း scripting language အဟောင်းနှင့် နောက်ပြန်မလိုက်နိုင်ပါ။ တစ်ချိန်တည်းမှာပင်၊ ယခင်အသုံးပြုထားသော ဘာသာစကားနှင့် ရှိပြီးသား plugins များနှင့် scripts များနှင့် လိုက်ဖက်ညီမှုအတွက် ပံ့ပိုးမှုကို အပြည့်အဝ ထိန်းသိမ်းထားပါသည် - ဘာသာစကားအဟောင်းနှင့် အသစ်များကို တပြိုင်တည်း ပံ့ပိုးထားပါသည်။ ဘာသာစကားဟောင်းအတွက် ပံ့ပိုးမှုကို ရပ်ဆိုင်းရန် အစီအစဉ်မရှိပါ။

အထားအသိုကို ပြန်လည်လုပ်ဆောင်ခြင်းအပြင် ယခု Vim9 Script သည် ကုန်ထုတ်စွမ်းအားကို သိသိသာသာတိုးမြင့်စေနိုင်သည့် စုစည်းလုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးပါသည်။ စမ်းသပ်မှုများတွင်၊ bytecode ဖြင့်စုစည်းထားသောလုပ်ဆောင်ချက်များသည် script execution ၏အမြန်နှုန်းကို 10-100 ဆအထိတိုးမြှင့်နိုင်စေခဲ့သည်။ ထို့အပြင် Vim9 Script သည် ကြီးမားသော overhead များကိုဖြစ်ပေါ်စေသည့် ဆက်စပ်အခင်းအကျင်းများအဖြစ် လုပ်ဆောင်သည့် အကြောင်းပြချက်များကို မလုပ်ဆောင်တော့ပါ။ လုပ်ဆောင်ချက်များကို ယခုအခါ "def" စကားရပ်ကို အသုံးပြု၍ သတ်မှတ်သတ်မှတ်ထားပြီး တိကျပြတ်သားသော အကြောင်းပြချက်များနှင့် ပြန်ပေးမည့်အမျိုးအစားများစာရင်း လိုအပ်ပါသည်။ Variable များကို ရှင်းလင်းပြတ်သားသော အမျိုးအစား ညွှန်ပြချက်ဖြင့် "var" စကားရပ်ကို အသုံးပြု၍ သတ်မှတ်ပါသည်။

စာကြောင်းများစွာကို ပိုင်းခြားထားသော အသုံးအနှုန်းများကို backslash အသုံးပြုရန်မလိုအပ်တော့ပါ။ အမှားအယွင်း ကိုင်တွယ်ဖြေရှင်းသည့် ယန္တရားအား လုံးလုံးလျားလျား ပြန်လည်ဒီဇိုင်းထုတ်ထားပါသည်။ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန် သော့ချက်စကားလုံး "ခေါ်ဆိုရန်" မလိုအပ်သော်လည်း တန်ဖိုးသတ်မှတ်မှုများအတွက် "let" လိုအပ်သည်။ မော်ဂျူးများဖန်တီးခြင်းကို ရိုးရှင်းစေခဲ့သည် - အခြားဖိုင်များတွင် အသုံးပြုရန်အတွက် တစ်ဦးချင်းလုပ်ဆောင်ချက်များနှင့် variable များကို ထုတ်ယူနိုင်မှုကို ထည့်သွင်းထားပါသည်။ မှတ်ချက်များကို နှစ်ထပ်ကိုးကားချက်များအစား "#" စာလုံးဖြင့် ပိုင်းခြားထားသည်။ အတန်းပံ့ပိုးမှုကို နောင်ထွက်ရှိရန် စီစဉ်ထားသည်။

အခြားပြောင်းလဲမှုများ ပါဝင်သည်-

  • အရောင်အသွေးအစုံပါဝင်ပါသည်။
  • စာလုံးပေါင်းစစ်ဆေးခြင်းနှင့် ဖြည့်သွင်းခြင်းအတွက် ပိုမိုကောင်းမွန်သော ပံ့ပိုးမှု။
  • ထပ်လောင်းဆက်တင်အသစ်များ- 'autoshelldir'၊ 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'။
  • ညွှန်ကြားချက်အသစ်များ ထပ်ထည့်သည်- argdedupe၊ balt၊ def၊ defcompile၊ disassemble၊ echoconsole၊ enddef၊ eval၊ export၊ final၊ import၊ var နှင့် vim9script။
  • ပေါ်လာသောဝင်းဒိုး (popup-terminal) တွင် terminal ကိုဖွင့်ပြီး terminal ၏အရောင်ပုံစံကိုရွေးချယ်နိုင်သည်။
  • LSP (Language Server Protocol) ဆာဗာနှင့် အပြန်အလှန်ဆက်သွယ်ရန်အတွက် ချန်နယ်မုဒ်ကို ထည့်သွင်းထားသည်။
  • Haiku လည်ပတ်မှုစနစ်အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။

source: opennet.ru

မှတ်ချက် Add