Entonces mi pregunta es simple. ¿Es una buena idea aprender scripts de vim solo para crear vim o deberíamos adoptar otros lenguajes más aceptados para eso?
Por ejemplo, este enlace abre videos de YouTube que muestran cómo usar Python para crear complementos vim.
Las secuencias de comandos Vim no son del todo útiles a menos que uno tenga la intención de crear algunos complementos vim. Entonces, ¿hay algo en particular que no se pueda hacer a menos que solo se usen scripts vim?
Respuestas:
Mis complementos son 99% en VimL. La razón es que VimL está disponible donde está instalado vim. Es mucho más complicado con otros idiomas; por ejemplo, es raro que tenga Python instalado en los cuadros de Windows donde uso Vim.
Por supuesto, VimL es engorroso, le faltan muchas características interesantes, pero al menos, es más fácil tener algo portátil.
El 1% que no está en VimL es cuando necesito interactuar con API externas que ofrecen enlaces de python.
Por cierto, casi todo lo que aprendes con respecto a VimL se puede usar de forma interactiva cuando juegas con comandos como
:substitute
. La mayoría de las asignaciones o macros tampoco necesitan python.fuente
map()
que espera cadenas o (lo no relacionado):map
. A menudo tengo que jugar con / alrededor de la evaluación de cadenas para llegar a mis extremos, como generar asignaciones o procesar la lista de llamadas a funciones, ...exec
fragmentos de VimL de todos modos. Le permite escribir su lógica central en un lenguaje en el que podría trabajar de manera mucho más eficiente, pero aún necesita aprender VimL.Si tiene la intención de escribir complementos, definitivamente debería leer el bonito artículo "Writing Vim Plugins", de Steve Losh ; no solo por decidir si se quedará con VimL o no, sino por los consejos de mejores prácticas.
También contiene una pequeña discusión sobre Scripting Vim con otros idiomas :
Mi experiencia es que incluso cuando un complemento que no es VimL es mejor, termino cambiando a una alternativa VimL pura más tarde, principalmente debido a la portabilidad. Vim se ejecuta en prácticamente cualquier sistema (incluso los sistemas heredados feos y antiguos), y la sobrecarga de configurar las dependencias o deshabilitar temporalmente ese complemento no vale la pena (especialmente si olvida que lo deshabilitó e intenta usar sus asignaciones / comandos) .
Incluso cuando es más fácil configurar las dependencias, puede encontrar algunos problemas (por ejemplo: algunos complementos basados en Python no funcionan al 100% cuando provienen de carpetas compartidas en máquinas virtuales). Es por eso que los pocos complementos que escribí usan solo VimL.
fuente