Pas dy vjet e gjysmë zhvillimi, u publikua redaktori i tekstit Vim 9.0. Kodi i Vim shpërndahet nën një licencë të vetë-drejtuar, përputhshme me GPL dhe që lejon përdorimin, shpërndarjen dhe ripërpunimin e kodit pa kufizime. Karakteristika kryesore e licencës Vim lidhet me kthimin e ndryshimeve - përmirësimet e realizuara në produkte të treta duhet të transferohen në projektin burimor, nëse menaxheri i Vim e konsideron se këto përmirësime meritojnë vëmendje dhe dërgon kërkesën përkatëse. Në mënyrën e shpërndarjes, Vim i përket SëKëU është një charityware, domethënë, në vend të shitjes së programit ose mbledhjes së donacioneve për qëllime të projektit, autorët e Vim kërkojnë që çdo shumë të dhurohet për bamirësi, nëse programi i pëlqen përdoruesit.
Në Vim 9 është propozuar një gjuhë e re zhvillimi për skriptet dhe pluginët - Vim9 Script, që ofron një sintaksë të ngjashme me JavaScript, TypeScript dhe Java. Sintaksa e re është më e thjeshtë për t'u mësuar nga fillestarët, por nuk është e përputhshme me gjuhën e vjetër të skriptimit. Megjithatë, mbështetja për gjuhën e mëparshme dhe përputhshmëria me pluginët dhe skriptet ekzistuese janë ruajtur plotësisht - gjuhët e vjetra dhe të reja mbështeten në mënyrë paralele. Nuk janë planifikuar ndërprerje të mbështetjes për gjuhën e vjetër.
Përveç rishikimit të sintaksës në Vim9 Script, është implementuar mbështetje për funksione kompilueshme, të cilat lejojnë një rritje të ndjeshme të performancës. Në testet e kryera, funksionet e kompiluara në kodin e bytes rezultuan në rritjen e shpejtësisë së ekzekutimit të skripteve nga 10 në 100 herë. Për më tepër, në Vim9 Script është pezulluar përpunimi i argumenteve të funksioneve në formën e masave asociative, që shkaktonin një shpërndarje të madhe. Tani funksionet përcaktohen duke përdorur shprehjen "def" dhe kërkojnë shënimin e qartë të listës së argumenteve dhe të tipeve të kthyera. Variablat përcaktohen përdorur shprehjen "var" me shënimin e qartë të tipit.
Shkëputja e shprehjeve në disa rreshta nuk kërkon më përdorimin e shenjës së kthimit. Mekanizmi i përpunimit të gabimeve është përmirësuar plotësisht. Për të ekzekutuar funksione, nuk kërkohet shënimi i fjalës kyçe "call", ndërsa për caktimin e vlerave "let". Krijimi i moduleve është thjeshtuar - është shtuar mundësia për të eksportuar funksione dhe variabla të veçantë për t'u përdorur në skedarë të tjerë. Komentet ndahen me simbolin "#" në vend të thonjëzave të dyfishta. Në publikimet e ardhshme është e parashikuar implementimi i mbështetjes për klasa.
Ndër ndryshimet e tjera:
- Në paketë është përfshirë një grup skemash ngjyrash.
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r kontrollin e shkrimit dhe automatikisht plotĂ«simin e hyrjes.
- JanĂ« shtuar konfigurime tĂ« reja: âautoshelldirâ, âcdhomeâ, âcinscopedeclsâ, âguiligaturesâ, âmousemoveeventâ, âquickfixtextfuncâ, âspelloptionsâ, âthesaurusfuncâ, âxtermcodesâ.
- Janë shtuar komanda të reja: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, export, final, import, var dhe vim9script.
- E mundësuar hapjen e terminalit në një dritare pop-up (popup-terminal) dhe zgjedhja e dizajnit të ngjyrës për terminalin.
- Shtuar modaliteti kanal të bashkëpunimit me serverin LSP (Language Server Protocol).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r sistemin operativ Haiku.
Burimi: opennet.ru
