ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

简单打印功能

作者 svenax 全部

为 Sublime Text 设计的简单打印功能。可处理当前文件、选定的文本或剪贴板的内容进行打印。

标签 打印

详细信息

  • 2017.01.04.22.00.16
  • github.com
  • github.com
  • 8年前
  • 35分钟前
  • 12年前

安装数量

  • 总计 47K
  • Win 23K
  • Mac 17K
  • Linux 7K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 0 1 0 0 1 1 2 0 1 0 0 0 0 0 1 0 2 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0
Mac 3 1 0 0 0 0 2 0 2 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

README

源代码
raw.githubusercontent.com

为 Sublime Text 2 和 3 的简单打印功能

Sublime Text 讨论论坛上有许多关于打印的需求。我个人很少需要打印,但我理解有些人确实有不小的需求。

因此,这里提供了一个简单解决方案。不过是将数据发送到一个执行打印的外部程序。

所使用的程序以及各种选项在设置文件中已经选定。默认情况下,我使用 enscript,因为它在 Linux、Mac 以及可能 Windows 的标准安装中都有提供。您可以使用 a2ps 或其他具有适当选项的打印命令。

注意:《SublimePrint.py》中的代码目前实际上依赖于 enscript。我可能在收到请求时清理它。

配置

在设置文件中添加您需要的任何选项。请注意,没有值的选项(即 --option)需要用空字符串作为值来指定,这是因为 JSON 字典格式的需要。

在第一次打印时,将在路径 /usr/bin/usr/local/bin 中搜索指定的打印命令。如果打印命令在其他目录中,应提供一个绝对路径。

支持的打印选项

  • 打印活动视图中的整个文件。
  • 打印活动视图中选定的文本。支持多个选区。
  • 打印剪贴板内容。

选择打印机

第一次打印时,将在用户特定的 SublimePrint.sublime-settings 文件中创建所有可用打印机的列表。可用打印机的键格式为 printer_(数字)。定义在 used_printer 键下的打印机是已选择的打印机。默认情况下,used_printer 的值是默认打印机。

要重新创建可用打印机列表,删除用户特定 SublimePrint.sublime-settings 文件中的 used_printer 密钥以及所有 printer_(数字) 的出现,并打印一些简短文本。

如果您始终要在默认打印机上打印,可以在用户配置文件中将 cache_printer_names 设置为“false”。这样做将导致打印机列表始终生成。

您可以在打印时通过在您的用户设置文件中将 prompt_printer 选项设置为“true”来覆盖 used_printer 的值。当此选项为“true”时,您将在每次新的打印作业时被提示选择要打印到的打印机。

安装 enscript

检查是否已安装 enscript

$ which enscript

如果 SublimePrint 无法打印,请编辑用户设置并将 command 值更改为 which 命令显示的绝对路径。在大多数情况下,这不需要。

Linux

假设 CUPS 已安装,并且您可以从其他程序成功打印,但找不到 enscript

[Debian]$ sudo apt-get install enscript

[RedHat]$ sudo yum install enscript

OS X

[Homebrew]$ brew install enscript

Windows

Enscript 可从多个提供商处获取 Windows 版本,例如 这个。我没有验证它是否工作,但如果有任何人想尝试,请这样做。

已知限制

  • 只能使用“打印整个文件”打印已保存的文档。对于未保存或已修改的文件,解决方案是选择所有行并使用“打印选择”。
  • 没有预览或打印对话框。
  • 打印机选择仅通过属性文件进行。

外部命令

  • 例如,enscript 的文档可以在 这里 找到
  • 您必须自己找到其他处理器。

历史

2012 年 4 月 10 日:第一个版本。仅支持“打印整个文件”。

2012 年 10 月 1 日:Kai Ellinger 增加了多项功能,包括“打印选择”、“打印剪贴板”和打印机设置。

2013 年 1 月 4 日:对代码进行了全面重写,以消除冗余并简化事务。已提交给 Package Control。

2013 年 6 月 29 日:对代码进行了一些调整,以使其与 Python 3 兼容,从而与 Sublime Text 3 兼容。

2013 年 6 月 30 日:不要调用 sys.exit(),因为那会导致 Sublime Text 冻结。

2013 年 7 月 15 日:为始终使用默认打印机的人添加了 cache_printer_names 设置。

2013 年 9 月 21 日:为希望每次使用都选择打印机的人添加了 prompt_printer 设置。