Vim para imprimir el archivo en la terminal y salir

12

Me gustaría que vim hiciera esto para tener resaltado de sintaxis como está configurado en vim (o sin necesidad de herramientas adicionales). Entonces, en lugar de usar cat file | <some_sh_tool>, usaría vim +"some_opts" +"..." +q file. El problema es que vim restaura la pantalla anterior al salir, pero el uso de algunas herramientas de acceso remoto no sucedió, por lo que básicamente funcionaba como cat con resaltado de sintaxis.

Entonces, ¿es esto posible?

EDITAR

Pensando más en esto, creo que es genial tenerlo. Además de resaltar la sintaxis, se pueden usar otras características de vim al mostrar el contenido del archivo, como números de línea, espacios en blanco, ajuste, etc., especialmente dentro del script y porque vim es omnipresente.

majkinetor
fuente
2
usa la pantalla GNU.
jordanm
1
no es exactamente lo mismo, no puedes usarlo dentro del script, además, a veces no puedes elegir.
majkinetor
1
Posible duplicado: stackoverflow.com/questions/13408134/…
echristopherson

Respuestas:

9

Puede deshabilitar la pantalla alternativa, diciéndole que el código para habilitarlo para este terminal es la cadena vacía como:

vim --cmd 'set t_ti= t_te=' ...

Pero encontrarás que necesitas más. Tratar:

vim --cmd 'set t_ti= t_te=' +redraw +q file

Como un inicio.

Stéphane Chazelas
fuente
Puede pagar explicar cómo crear un alias para el comando final.
cjh
@cjh: eso depende del shell del usuario.
Bananguin
1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'luego simplemente correcatx infile
Rahul Patil
es posible que también desee agregar +"colo colorscheme"antes de +redraw.
Peter
2
No está bien. Mostrará la primera página y saldrá. Lo necesito para mostrar todas las líneas. Agregar + $ antes de volver a dibujar muestra solo la primera y la última página.
majkinetor
2

Es posible que desee echar un vistazo enscript: tiene estilos de resaltado de sintaxis para un par de idiomas y está destinado a usarse como filtro, y la salida no se limita solo a secuencias de formato de escape ANSI, también puede generar PostScript, HTML o RTF.

Peterph
fuente
1
Ya configuré vim de la manera que quiero: colores, idiomas, etc. Algunas de las funciones sh para idiomas raros son personalizadas: Csound, AutoHotKey, etc. No vuelvo a escribir archivos de configuración para otra herramienta.
majkinetor
@majkinetor seguro, todo depende de para qué exactamente quieres usarlo.
Peter
2

Encontré exactamente lo que necesitaba en un paquete llamado vimpager .

Se envía con la utilidad vimcat.

majkinetor
fuente