Tras dos años de desarrollo, se ha lanzado el editor de texto Vim 9.2. El código de Vim se distribuye bajo su propia licencia copyleft, compatible con la GPL, lo que permite su uso, distribución y reutilización sin restricciones. La característica clave de la licencia de Vim es la cláusula de reversión: las mejoras implementadas en productos de terceros deben revertirse al proyecto original si el responsable de Vim las considera relevantes y envía una solicitud. Vim se distribuye como software benéfico, lo que significa que, en lugar de vender el programa o recaudar donaciones para el proyecto, los autores de Vim solicitan donaciones de cualquier importe a organizaciones benéficas si el usuario disfruta del programa.
Principales mejoras:
- La interfaz gráfica (gvim) se ha actualizado para soportar el protocolo Wayland, incluida la capacidad de usar el portapapeles en entornos basados en Wayland.
- En sistemas tipo Unix, se ha implementado soporte para la especificación del directorio base XDG de Freedesktop.org y la capacidad de usar el directorio "~/.config/vim" para almacenar configuraciones.
- La interfaz de usuario incluye un panel de pestañas vertical (lateral), que puede utilizarse como alternativa al panel superior horizontal.
- La interfaz gráfica de Windows ahora admite el modo oscuro para menús y encabezados. Se ha mejorado la compatibilidad con el modo de pantalla completa y se han añadido iconos de mayor calidad para la barra de herramientas.
- El mecanismo de autocompletado en el modo de inserción ahora admite búsquedas aproximadas, lo que permite coincidencias imprecisas (por ejemplo, palabras mal escritas). También se ha implementado la capacidad de completar directamente las palabras almacenadas en los registros (la combinación CTRL-X CTRL-R muestra un menú para insertar palabras almacenadas en los registros de Vim). El parámetro "completeopt" ahora admite las siguientes opciones: "nosort" para deshabilitar la ordenación de la lista de sugerencias y "nearest" para priorizar las palabras cercanas al cursor.
- Se incluye un complemento integrado para el aprendizaje interactivo (":Tutor"), que muestra la información claramente, permite reanudar el aprendizaje después de una tarea interrumpida y puede verificar la ejecución correcta de los comandos.
- El lenguaje de scripting ahora incluye compatibilidad integrada con enumeraciones (Enum), funciones genéricas (Generic) y tuplas (Tuple). Las funciones integradas ahora pueden llamarse como métodos de objeto. Se ha añadido compatibilidad con el constructor protegido _new() a las clases. El comando ":defcompile" ahora está disponible para compilar métodos.
- Se ha añadido el algoritmo "linematch" al modo diff. Activado mediante la opción "diffopt" del mismo nombre, este algoritmo encuentra partes similares de las líneas y las alinea para resaltar los cambios con mayor precisión. Se ha implementado la opción "diffanchors", que permite definir manualmente "anclajes" para dividir un archivo en secciones que se compararán de forma independiente, evitando así la comparación de partes incorrectas en archivos complejos. Se ha mejorado el resaltado de cambios de caracteres individuales dentro de una misma línea. Para configurar este resaltado, se ha añadido la opción "inline" a "diffopt". Puede tomar los valores "inline:simple" (como antes), "inline:char" (resaltado a nivel de carácter) e "inline:word" (resaltado a nivel de palabra).

- Se cambiaron los valores predeterminados de los parámetros:
- 'historia' (50 => 200)
- 'retroceso' ('sangría, fin de línea, inicio', comportamiento típico de la tecla Retroceso)
- 'diffopt' ("internal,filler" => "internal,filler,closeoff,indent-heuristic,inline:char")
- 'fontsize' (10pt => 12pt, óptimo para monitores de alto DPI)
- 'showcmd' (Desactivado => Activado, los comandos siempre son visibles)
- 'regla' (Desactivado => Activado, muestra la posición del cursor)
Fuente: opennet.ru
