¿Cómo puedo ejecutar un gvim sin cabeza para convertir el código resaltado en sintaxis a HTML?

¿Cómo puedo ejecutar un gvim sin cabeza para convertir el código resaltado en sintaxis a HTML?

Quiero generar archivos HTML por lotes para mostrar algunos esquemas de colores de gvim en acción. Tomé mi solución actual del script enhttp://code.google.com/p/vimcolorschemetest/, pero esto abrirá una ventana de gvim para cada esquema de colores que quiero procesar.

Hasta ahora, la única forma que he encontrado para evitar las molestas ventanas nuevas que aparecen cada segundo es iniciar un servidor VNC y configurar la DISPLAYvariable de entorno en la del servidor VNC para que todas las ventanas de gvim se envíen a la pantalla dentro de la sesión de VNC.

Sin embargo, me gustaría saber si hay alguna manera de evitar toda la configuración de VNC y simplemente ejecutar una instancia de gvim sin cabeza que realice la conversión y salga, sin que nunca se muestren ventanas.

Estoy usando Linux, por cierto.

Respuesta1

vim -E -c "TOhtml" -c "w" -c "qa!" -- test.c >/dev/null

Úselo vim, se cargará más rápido que gvim. Puedes acelerar un poco el tiempo de carga usando -X, o una versión No-X de vim.

Para silenciarlo, utilice >/dev/null. Pero eso hará que vimse queje ( Vim: Warning: Output is not to a terminal) y se detenga un poco, por eso usamos -E.

Podríamos haberlo intentado -E -s, pero de alguna manera no puedo usarlo :TOhtmlcorrectamente, el resultado no tiene color y es una sola línea.

Proxeneta un poco el comando usando -R -c "set noreadonly"o mejor -nsolo. Esto evita el mensaje de advertencia habitual al abrir un archivo que ya tiene un archivo de intercambio. No hay nada especial para evitar errores al abrir un archivo que no se puede escribir (por ejemplo, propiedad de root).

Mira mivimcatrepositorio en GitHub, para ver un ejemplo de uso del resaltado de sintaxis de vim utilizado en una terminal.

Respuesta2

Realmente no puedo decir si su problema es que Vim abre demasiadas ventanas a la vez o que abre alguna ventana...

No puedo ayudarte con el último caso, sin embargo, en cualquier Vim más nuevo, puedes hacer algo como esto (muy primitivo, probablemente se pueda hacer mucho mejor):

# gvim -c TOhtml -c w -c q -c q test.c

que creará un test.c.xhtml basado en el archivo test.c usando el esquema de color actual. Luego, tal vez otro -c para cambiar los colores, pegarlo todo en un script de shell...

EDITAR:

sin que nunca se muestren ventanas.

Sí, entonces soy un idiota. Por favor ignore esta publicación.

información relacionada