在Linux和Mac下,Vim会产生一个PostScript文件。该文件能够直接发送到PostScript打印机上,或者通过类似ghostscript的程序进行处理。
为了使用PostScript功能,请使用:version
命令,确认Vim已经包含“+postscript”特性:
首先使用以下命令,将文件打印至postscript文件:
:hardcopy > test.ps
此打印方式所生成的postscript文件,无法正常显示包括中文在内的UTF-8编码格式。推荐使用paps,来生成包含中文的文件:
:!paps < % > test.ps
然后调用ps2pdf命令,将postscript文件转换为PDF文件:
:!ps2pdf test.ps test.pdf
通过在vimrc配置文件中增加以下自定义命令,可以组合paps和ps2pdf命令,来直接生成PDF文件:
command Paps !paps % | ps2pdf - %:r.pdf
之后在Vim中执行以下命令,即可生成以当前文件名命名的PDF文件:
:Paps
我们也可以利用CUPS PDF打印机,来生成PDF文件。首先使用包管理命令(以Fedora为例),安装cups-pdf:
$ dnf install cups-pdf
使用以下网址,可以查看打印机是否安装成功,并将其设置为默认打印机:
http://localhost:631/printers/
nmap PpP :%w !lpr -o lpi=8 -o cpi=14<CR><CR>
此后使用PpP快捷键,即可生成PDF文件(默认保存在桌面)。你可以通过修改 /etc/cups/cups-pdf.conf 配置文件,来指定文件输出位置。
在MacVim中,使用:set printexpr?
命令,可以发现Mac使用预览程序来生成PDF文件,同样也无法正常显示中文:
system('open -a Preview '.v:fname_in) + v:shell_error
通过在vimrc配置文件中增加以下自定义命令,可以使用cupsfilter命令,来直接生成PDF文件:
command Print2PDF !cupsfilter % > %:r.pdf 2> /dev/null
在Windows下的GVim中,使用:hardcopy
命令将打开打印对话框;在其中选择PDF虚拟打印机(例如Foxit PDF Printer, PDFCreator等),即可生成PDF文件:
请使用:help printing
命令,查看关于打印的帮助信息。