
Vim tiene la noción decaracterísticas, es decir, subconjuntos de funcionalidades que pueden o no ser compatibles con una instalación real, según indicadores en tiempo de compilación. La presencia de una característica se puede verificar con la has()
función y todas las características posibles se pueden enumerar con el feature-list
comando.
Quiero que mi script vim sea más sólido al verificar las funciones antes de usarlas. Mi problema es que no está documentado explícitamente qué comando depende de qué característica.
Ejemplo específico: algunas distribuciones de Linux se envían vim.tiny
de forma predeterminada, que es una versión de vim
. Si inicio vim.tiny
, .vimrc
escupe muchos mensajes de error. Por ejemplo, el let
comando no está disponible, pero no es obvio qué característica proporciona este comando. ¿Cómo podría determinarlo de manera confiable? O si no es posible, ¿cómo puedo hacer que mi inicio de vim se degrade correctamente vim.tiny
?
Respuesta1
Dirigirse a un complemento de Vim paravim-pequeñoes difícil, ya que consiste en unmuyconjunto de funciones limitado. Está pensado como un reemplazo eficiente devi, admitiendo solo algunas asignaciones, nada más.
Dicho esto, es posible detectar y afirmar ciertas capacidades usando has()
y exists()
. Los errores :let
podrían evitarse ajustando :if 1
, pero como dije, es mejor apuntar a un Vim con funciones "normales" y simplemente agregar comprobaciones de disponibilidad de cosas más nuevas (comoencubrir, deshacer persistente, introducido en Vim 7.3) y correcciones de errores esenciales (pero solo si las necesita).