我本以为这很简单,但我做不到:我使用 gVim,想将文本作为 PDF 文件获取。在其他应用程序(如 Firefox)中,打印对话框会显示可用的打印机,我可以选择直接打印到 PDF 文件。然而,在 Vim 中没有这样的对话框,文件只是发送到系统的标准打印机。
我尝试了以下操作:
- 我无法将“打印为 PDF”功能作为通过 Ubuntu 的打印机窗口进行打印的标准方式。
:ha > file
将我的文件转换为 .ps 文件。这很好,但 .pdf 会更好...
答案1
Vim 不会显示打印对话框。相反,你可以打印到后记文件,在 PostScript 查看器中打开它并从那里打印。
要从 Vim 打印到 PostScript 文件:
:hardcopy > myfile.ps
您还可以使用以下方法将 PostScript 转换为 PDF ps2pdf
:
ps2pdf myfile.ps
答案2
基于其他人已经陈述的内容:
您可以使用以下单行 Vim 命令来创建 PDF 文件:
:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps
笔记:
- 是
%
当前文件名的简写,因此HelloWorld.C
将打印到HelloWorld.C.pdf
- 如果您还想保留中间 .ps 文件,只需省略
&& rm %.ps
,即可获得::hardcopy > %.ps | !ps2pdf %.ps
此外,要更改渲染的字体,请设置printfont
前执行hardcopy
命令。例如,选择 Courier 8:
:set printfont=Courier:h8
综上所述,我决定将以下内容添加到我的.vimrc
文件中,以便我可以简单地执行该:HardcopyPdf
命令。此命令还可以对文件中的选定范围进行操作:
" Select the font for the hardcopy
set printfont=Courier:h8
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'