Vim per stampare il file sul terminale ed uscire


12

Vim farebbe questo per poter evidenziare la sintassi come impostato in vim (o senza bisogno di strumenti extra). Quindi invece di usare cat file | <some_sh_tool>lo userei vim +"some_opts" +"..." +q file. Il problema è che vim ripristina la schermata precedente all'uscita, ma utilizzando alcuni strumenti di accesso remoto ciò non è accaduto, quindi sostanzialmente funzionava come gatto con l'evidenziazione della sintassi.

Quindi è possibile?

MODIFICARE

Pensando di più su questo, penso che sia una cosa grandiosa. Oltre alla sintassi, l'evidenziazione di altre funzionalità di vim potrebbe essere utilizzata durante la visualizzazione del contenuto del file, come numeri di riga, spazi bianchi, wrapping, ecc ... specialmente all'interno dello script e perché vim è onnipresente.


2
usa lo schermo GNU.
Giordania,

1
non è esattamente lo stesso, non puoi usarlo all'interno dello script, inoltre, a volte non puoi scegliere.
majkinetor,

Risposte:


9

È possibile disabilitare la schermata alternativa, dicendo che il codice per abilitarlo per questo terminale è la stringa vuota come:

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

Ma scoprirai che hai bisogno di più. Provare:

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

come inizio.


Potrebbe essere utile spiegare come creare un alias per il comando finale.
cjh

@cjh: dipende dalla shell dell'utente.
Bananguin,

1
alias catx='vim --cmd "set t_ti= t_te=" +redraw +q'quindi corri semplicementecatx infile
Rahul Patil il

potresti anche voler aggiungere +"colo colorscheme"prima di +redraw.
peterph

2
Non bene. Mostrerà la prima pagina e uscirà. Ne ho bisogno per mostrare tutte le linee. L'aggiunta di + $ prima del ridisegno mostra solo la prima e l'ultima pagina.
majkinetor,

2

Potresti dare un'occhiata enscript: ha stili di evidenziazione della sintassi per un paio di lingue ed è pensato per essere usato come filtro, e l'output non è limitato alle sole sequenze di formattazione di escape ANSI: può anche produrre PostScript, HTML o RTF.


1
Ho già installato VIM nel modo che desidero - colori, lingue, ecc ... alcune delle funzioni sh per le lingue rare sono personalizzate - Csound, AutoHotKey, ecc ... Non voglio scrivere di nuovo i file di configurazione per un altro strumento.
majkinetor,

@majkinetor certo, tutto dipende da cosa vuoi usarlo esattamente.
peterph,

2

Ho trovato esattamente ciò di cui avevo bisogno in un pacchetto chiamato vimpager .

Viene fornito con l'utilità vimcat.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.