如何在Linux的GVim中获取打印机对话框?

6
有时候我喜欢打印一些代码来理解它。在Linux上的GVim中点击打印按钮会使用默认设置打印到默认打印机。
当我想从GVim中打印时,如何获取标准打印机对话框?
这样我就可以选择打印机(从工作网络上可用的多个打印机中选择)并更改其他打印设置(双面、每面页数等)。
3个回答

4

请参阅:h hardcopy:h print-options了解更多相关信息。

您可以使用:set printdevice=xxx设置打印机,使用:set printoptions=xxx设置其他选项。

如果您真的想使用对话框打印,您可以先将其打印到文件中,然后从其他程序中打开该文件以进行打印::hardcopy > output.ps


谢谢!我有没有可能打印到PDF而不是PS? - Ashwin Nanjappa
只需将扩展名更改为“.pdf”,它就应该可以工作。 - Brett Y

3

要在gvim打印时获取打印对话框,您可以将以下内容添加到~/.vimrc

set printexpr=PrintFile(v:fname_in)
function PrintFile(fname)
  call system("kprinter " . a:fname)
  call delete(a:fname)
  return v:shell_error
endfunc

你可以使用 gtklp 或者你所使用的桌面环境提供的打印对话框命令,而不是 KDE3 中的打印对话框 kprinter


0

有一个可用的 Vim 脚本(请参见 PrtDialog),它提供了一个自制的打印对话框。说实话,我是作者 ;-) 它允许选择许多与打印相关的设置,如纸张格式、方向、行号、颜色方案、换行、边距、字体和字号等。

还有一个选项“对话框”(请参见打印对话框中的最后一行)。如果将此选项设置为“是”,则在打印之前将打开系统打印对话框。在那里,您可以进一步微调打印设置。


谢谢!这个插件看起来很不错。不过,尽管我选择了对话框选项并按下“p”键,但我没有得到系统打印机对话框,它直接打印到默认打印机。 - Ashwin Nanjappa
哦,抱歉,我在Windows下使用此插件,忘记了“对话框”选项仅适用于Windows(而您要求的是Linux)。作为替代方案,您可以定义一个打印机列表,在打印之前可以选择。请参见:help prd_prtDeviceList。因此,您至少可以在不手动设置printdevice的情况下选择不同的打印机。 - Habi
@Ashwin: 我已经离开 Linux 好几年了,但据我所记,你可以通过 shell 命令 lpstat -a 获取已安装打印机的名称。此命令显示的名称可以添加到“prd_prtDeviceList”中,以便从打印机对话框中选择这些打印机。 - Habi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接