Wie kann ich von Vim nach PDF drucken?

11

Ich hätte gedacht, dass dies ziemlich einfach ist, aber ich bekomme es nicht fertig: Ich benutze gVim und möchte den Text als PDF-Datei erhalten. In anderen Anwendungen wie Firefox zeigt mir der Druckdialog verfügbare Drucker und ich kann direkt in eine PDF-Datei drucken. In Vim gibt es jedoch keinen solchen Dialog und die Datei wird nur an den Standarddrucker des Systems gesendet.

Ich habe folgendes versucht:

  • Ich bin nicht in der Lage, das "Print-to-PDF" -Ding über das Druckerfenster von Ubuntu zu meiner Standarddruckweise zu machen.
  • :ha > filekonvertiert meine Datei in eine .ps-Datei. Das ist schön, aber .pdf wäre schöner ...
Caligula
quelle
Keine Antwort, aber Sie können anschließend das ps2pdfBefehlszeilentool mit der Poscript-Datei als Eingabe verwenden.
Kebs

Antworten:

20

VimDas Druckdialogfeld wird nicht angezeigt. Stattdessen können Sie in eine PS-Datei drucken, diese in einem PS-Viewer öffnen und von dort aus drucken.

So drucken Sie in eine PS-Datei aus Vim:

:hardcopy > myfile.ps

Sie können auch wandeln pszu pdfverwenden ps2pdf:

ps2pdf myfile.ps
Ron
quelle
1
Der erste Vorschlag bedeutet, nur die Dateierweiterung zu ändern ... Der zweite könnte in einem Mapping oder ähnlichem funktionieren. Ich muss noch etwas recherchieren, um dies zu erreichen ... Vielen Dank bis jetzt ...
Caligula
1
Es ist so einfach wie das Ändern einer Erweiterung;)
Ron
1
Das ist großartig, wusste definitiv nicht, dass das eine Sache ist! Können Sie mehrere Dateien in ein einziges Dokument aufnehmen?
Ben Kushigian
2
(Cygwin-Benutzer) :ha > file.pdfhat keine gültige PDF-Datei erstellt. Die Kombination mit ps2dpfhat funktioniert, gibt mir aber einen weißen Hintergrund. Ich bin am glücklichsten mit :TOhtml file.htmlund
drucke
Ich habe heute eine Variation dieses Befehls verwendet :: 1,50 Hardcopy, es wurde keine Datei erstellt, nur von den Zeilen 1 bis 50 gedruckt.
Dr. Beco
8

Aufbauend auf dem, was andere bereits gesagt haben ...

Mit dem folgenden einzeiligen Befehl vim können Sie eine PDF-Datei erstellen:

:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps

Hinweis:

  • Das %ist die Abkürzung für den aktuellen Dateinamen und wird so HelloWorld.CgedrucktHelloWorld.C.pdf
  • Wenn Sie auch die Zwischendatei .ps beibehalten möchten, lassen Sie einfach die folgende Datei weg && rm %.ps: :hardcopy > %.ps | !ps2pdf %.ps

Um die gerenderte Schriftart zu ändern, legen Sie außerdem die Druckschrift fest, bevor Sie den Hardcopy-Befehl ausführen. So wählen Sie beispielsweise Courier 8 aus:

:set printfont=Courier:h8

Nachdem ich alles zusammengestellt hatte, entschied ich mich, Folgendes in meine .vimrcDatei aufzunehmen, damit ich den :HardcopyPdfBefehl einfach ausführen kann . Dieser Befehl kann auch einen ausgewählten Bereich innerhalb einer Datei bearbeiten:

set printfont=Courier:h8 "select the font to use when printing
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'
arr_sea
quelle