Come posso stampare un codice ben formattato


20

Simile all'utilizzo del markdown su Stack Overflow per creare monospace output, come posso farlo per i miei programmi.

Ho provato lp nomefile.txt ed è stato piacevole per favore scoprire che era in grado di utilizzare la stampante di rete locale e stampare "così com'è"

Il problema è che l'output non è mono-spaziato.

Esiste un'opzione più rapida di ...

1) copy the text
2) paste into a text doc
3) format the document as mono
4) print it 

Mi piacerebbe trovare qualche opzione come lp filename.txt -format=mono;)


Risposte:


21

Puoi usare l'editor vim per stampare file arbitrari che vim può leggere. Utilizzare quanto segue per creare un file PostScript.

vim \
  -c 'hardcopy > output.ps' \
  -c quit <input_file>

Se si desidera un file PDF, aggiungere && ps2pdf output.psalla riga di comando.

Puoi anche scrivere un piccolo script che incolla il contenuto attuale degli appunti in un file temporaneo, esegue vim sul file, stampa il file risultante ed elimina il file temporaneo.


1
Una buona opzione per il tuo vimrc quando si stampa il codice è quella set printoptions=portrait:ndi stampare in modalità orizzontale.
oligofren,

1
Probabilmente non sono l'unico qui a voler disattivare le intestazioni di pagina una volta che la stampa ha funzionato. Puoi disattivarli aggiungendo set printoptions=header:0a vimrc.
Andy Gaskell,

Per HTMl puoi farlovim -c TOhtml -c write -c quit <input_file>
Matthew Cline,

1
Oops, dovrebbe esserevim -c 'set cmdheight=2' -c TOhtml -c write -c quit -c quit <input_file>
Matthew Cline,

@AndyGaskell Ho fatto una domanda, per favore vedi se riesci a risolverlo: unix.stackexchange.com/questions/315363/…
un'offerta non può rifiutare il

12

Il percorso più breve qui è probabilmente da usare a2ps, per impostazione predefinita genera Postscript monospaziato.

È possibile installare a2pscon brew, ad esbrew install a2ps

A seconda della sua configurazione, invierà l'output direttamente a stdout o lp, con override -o. Inoltre, a2psriconosce diversi linguaggi di programmazione e li stampa graziosamente.

a2ps -o output.ps infile.text

Utilizzare --pro=colorse il colore è disponibile:

a2ps --pro=color -o output.ps infile.text

Per l'output HTML tendo a usare vimla 2htmlfunzione.


sembrava fantastico ... ma non ho a2ps. Qualcuno sa come installare?
Michael Durrant,

Dipende dal sistema operativo in cui si desidera installarlo?
Thor,

certo che è un mac - osx
Michael Durrant il

Googling un po 'sembra che a2ps abbia alcuni problemi di installazione su osx. Non ho molta esperienza con osx ma enscriptè stato menzionato come alternativa.
Thor,

Puoi installare a2psusando MacPorts ( macports.org ). Non ho avuto problemi a installarlo (su Lion)
Matteo

3

a2psera la risposta. L'ho installato con brew:

brew install a2ps

Ora posso a2ps myfilenamee funziona.

Sfortunatamente viene fuori il paesaggio e se provo a renderlo ritratto è schiacciato a sinistra e minuscolo, solo occupando il 50% della pagina. [upate - trovata correzione a questo con il parametro -1 (per il numero di pagine da trovare su un foglio - il valore predefinito era 2)

Tuttavia, come paesaggistico ha funzionato e il codice ha lo fixed formatstile che stavo cercando.

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.