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

如何在Linux上获得GVim中的打印机对话框?,linux,vim,printing,Linux,Vim,Printing,有时我喜欢打印一些代码来理解它。单击GVim on Linux中的“打印”按钮,使用一些默认设置打印到默认打印机 当我想从GVim打印时,如何获取标准打印机对话框 这样我就可以选择一台打印机(从工作网络上的多台可用打印机中选择)并更改其他打印设置(双面打印、每面页面等)。请参见:h硬拷贝和:h打印选项 您可以使用:set printdevice=xxx设置打印机设置,也可以使用:set printoptions=xxx设置其他选项 如果您真的想使用该对话框,您可以打印到一个文件,然后从其他程序打

有时我喜欢打印一些代码来理解它。单击GVim on Linux中的“打印”按钮,使用一些默认设置打印到默认打印机

当我想从GVim打印时,如何获取标准打印机对话框


这样我就可以选择一台打印机(从工作网络上的多台可用打印机中选择)并更改其他打印设置(双面打印、每面页面等)。

请参见
:h硬拷贝
:h打印选项

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


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

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


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

要在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

除了KDE3中的打印对话框
kprinter
,您还可以使用桌面环境中的打印对话框命令
gtklp
或其他命令

谢谢!我可以打印成PDF而不是PS吗?只要将扩展名改为
.PDF
,它就可以了。谢谢!这个插件看起来很棒。然而,即使我选择了对话框选项并按下了“p”,我也没有得到系统打印机对话框。它直接打印到默认打印机。哦,对不起,我在Windows下使用这个插件,忘记了“对话框”选项只适用于Windows(而你要求的是Linux)。或者,您可以定义一个打印机列表,在打印之前可以选择该列表。请参阅
:帮助prd\u prtDeviceList
。因此,至少您可以在不同的打印机之间进行选择,而无需手动设置
printdevice
。@Ashwin:我已经有几年没有Linux了,但据我所知,您可以通过shell命令
lpstat-a
获取已安装打印机的名称。此命令显示的名称可以添加到“prd_prtDeviceList”中,以便从打印机对话框中选择这些打印机。