Lanzamento do editor de texto Vim 9.0

Despois de dous anos e medio de desenvolvemento, lanzouse o editor de texto Vim 9.0. O código Vim distribúese baixo a súa propia licenza copyleft, compatible coa GPL e que permite un uso, distribución e reelaboración ilimitados do código. A principal característica da licenza de Vim está relacionada coa reversión dos cambios: as melloras implementadas en produtos de terceiros deben transferirse ao proxecto orixinal se o mantedor de Vim considera que estas melloras merecen atención e envía a solicitude correspondente. Segundo o tipo de distribución, Vim clasifícase como Charityware, é dicir. En lugar de vender o programa ou recoller doazóns para as necesidades do proxecto, os autores de Vim piden doar calquera cantidade a unha organización benéfica se ao usuario lle gusta o programa.

Vim 9 ofrece unha nova linguaxe para desenvolver scripts e complementos - Vim9 Script, que proporciona unha sintaxe similar a JavaScript, TypeScript e Java. A nova sintaxe é máis fácil de aprender para os principiantes, pero non é retrocompatible coa antiga linguaxe de script. Ao mesmo tempo, consérvanse totalmente o soporte para a linguaxe utilizada anteriormente e a compatibilidade cos complementos e scripts existentes: as linguas antigas e novas son compatibles en paralelo. Non hai plans para interromper o apoio á lingua antiga.

Ademais de reelaborar a sintaxe, Vim9 Script agora admite funcións compiladas, que poden aumentar significativamente a produtividade. Nas probas realizadas, funcións compiladas en bytecode permitiron aumentar a velocidade de execución do script entre 10 e 100 veces. Ademais, Vim9 Script xa non procesa os argumentos das funcións como matrices asociadas, o que provocou grandes gastos xerais. Agora as funcións defínense mediante unha expresión "def" e requiren unha lista explícita de argumentos e tipos de retorno. As variables defínense mediante unha expresión "var" cunha indicación de tipo explícita.

A división de expresións en varias liñas xa non require o uso dunha barra invertida. O mecanismo de xestión de erros foi completamente redeseñado. A palabra chave "chamar" non é necesaria para executar funcións, pero "let" é necesaria para as asignacións de valores. Simplificouse a creación de módulos: engadiuse a posibilidade de exportar funcións e variables individuais para usar noutros ficheiros. Os comentarios están separados por un carácter "#" en lugar de comiñas dobres. O apoio de clase está previsto para futuras versións.

Outros cambios inclúen:

  • Inclúese un conxunto de esquemas de cores.
  • Compatibilidade mellorada para a corrección ortográfica e a finalización da entrada.
  • Engadíronse novas opcións de configuración: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemoveevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Engadíronse novos comandos: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, export, final, import, var e vim9script.
  • É posible abrir o terminal nunha ventá emerxente (terminal emerxente) e seleccionar o esquema de cores do terminal.
  • Engadido modo de canle para a interacción co servidor LSP (Language Server Protocol).
  • Engadido soporte para o sistema operativo Haiku.

Fonte: opennet.ru

Engadir un comentario