VimからPDFに印刷するにはどうすればよいですか?


11

私はこれはかなり単純だと思ったでしょうが、私はそれを成し遂げません。私はgVimを使用しており、テキストをpdfファイルとして取得したいと考えています。Firefoxなどの他のアプリケーションでは、印刷ダイアログに使用可能なプリンターが表示され、pdfファイルに直接印刷することを選択できます。ただし、Vimではそのようなダイアログはなく、ファイルはシステムの標準プリンターに送信されるだけです。

私は以下を試しました:

  • Ubuntuのプリンターウィンドウを使用して、「print-to-pdf」を標準の印刷方法にすることができません。
  • :ha > file私のファイルを.psファイルに変換します。それはいいですが、.pdfの方がいいでしょう...

答えではありませんがps2pdf、後でposcriptファイルを入力としてコマンドラインツールを使用できます。
kebs 2015

回答:


21

Vim印刷ダイアログボックスは表示されません。代わりに、PSファイルに印刷し、それをPSビューアで開いて、そこから印刷することができます。

からPSファイルに印刷するにはVim

:hardcopy > myfile.ps

pspdf使用してに変換することもできますps2pdf

ps2pdf myfile.ps

1
最初の提案は単にファイル拡張子を変更することを意味します... 2番目の提案はマッピングまたはそのようなもので機能する可能性があります。それを行うにはさらに調査を行う必要があります...これまでのところありがとうございます
caligula

1
拡張子を変更するのと同じくらい簡単です;)
Ron

1
これはすごいです、これが何かであるとは絶対に知りませんでした!複数のファイルを1つのドキュメントにまとめることができますか?
ベンクシギアン2017年

2
(cygwinユーザー):ha > file.pdfは有効なPDFファイルを作成しませんでした。それと組み合わせるとps2dpfうまくいきましたが、白い背景が得られます。私は一番幸せだ:TOhtml file.htmlし、次にPDFに、このHTMLファイルを印刷する
lucidbrot

今日は、このコマンドのバリエーションを使用:1,50ハードコピー、それだけで1〜50行から印刷、ファイルを作成しなかった
博士ベコ

8

他の人がすでに述べていることに基づいて...

次の1行のvimコマンドを使用して、.pdfファイルを作成できます。

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

注意:

  • %現在のファイル名の省略形ですので、HelloWorld.Cに印刷されますHelloWorld.C.pdf
  • 中間の.psファイルも保持したい場合は、単にを省略して&& rm %.ps、以下を取得します。 :hardcopy > %.ps | !ps2pdf %.ps

さらに、レンダリングされたフォントを変更するには、hardcopy コマンドを実行するにprintfontを設定します。たとえば、Courier 8を選択するには:

:set printfont=Courier:h8

まとめると、次のコードを.vimrcファイルに追加して、:HardcopyPdfコマンドを簡単に実行できるようにしました。このコマンドは、ファイル内の選択された範囲を操作することもできます。

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'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.