我该如何打印语法高亮的Ruby代码?

3

我使用TextMate进行Ruby编辑,但是在打印文件时,代码没有语法高亮。有没有一些好的程序可以打印格式良好且颜色高亮的Ruby代码?

6个回答

2
我使用的一个好方法是通过 vim 从 TextMate 打印,这将给出语法高亮和行号结果(或者您选择如何配置它)。除了 vim,还需要 ps2pdf,但这些都可以使用 macports 等轻松安装。
唯一的限制是文件需要先保存。
请参阅此页面,了解如何将宏设置为 TextMate 的“命令”。

1

语法宝石非常棒。

require 'hpricot'               
require 'syntax/convertors/html'
def filter_content(content)
    h = Hpricot(content)
    c = Syntax::Convertors::HTML.for_syntax "ruby"
    h.search('//pre[@class="ruby"]') do |e|
        e.inner_html = c.convert(e.inner_text,false)
    end
    h.to_s
end

编辑:哦,你是指打印吗... 好的,你可以把它转换成 HTML 格式,然后从浏览器中打印。


1
显然,将*.txt等效文件彩色化难以与打印机进行通信,但这显然是可以完成的。TextMate的创建者简单地表达了他认为这不是一个重要的功能,这基本上意味着它非常难以实现。
Aptana可以轻松完成此操作,但加载时间很长。
进入vim。vim可能已经安装在您的计算机上。
vim filename.m
:syntax on
:hardcopy

再次提醒,不会有任何提示让你选择打印机,请确保系统默认打印机设置正确。

如果你必须使用:syntax on命令来使vim对代码进行着色:

要将vim默认设置为基于语法的着色:

nano ~/.vimrc
syntax on

保存并退出


1

我不知道在Mac世界中是否相关,但是与Windows的一键安装程序捆绑的SciTE编辑器可以在我们的HP Laserjet打印出漂亮的彩色。 我还没有尝试从任何各种IDE打印-我应该试试。


1

我可能会使用Ultraviolet来创建一个HTML文件,该文件具有语法高亮功能,以便打印出来...


0

谢谢,boulder_ruby

在2016年末的几点补充(2年10个月后):

如果您使用Windows,则不能指望VIM已经安装。在Stack Overflow中的会员资格可以提高获得VIM的概率,但可能不到90%。但是,在Windows上获取VIM很容易。www.vim.org/download.php

Macs默认配备MacVim。

在Mac上,使用MacVim,按照您的建议,我仔细设置了默认打印机,以便在浪费纸张进行测试之前可以清空队列。

然后我使用:hardcopy VIM命令。打印版本直接转换为PDF,并在Preview中打开。它从未出现在默认打印机队列中。

此外,edavey上面指向了http://biztos.blogspot.com/2008/06/printing-with-textmate-vim-and-friends.html ,其中包含了有关TextMate打印的帮助页面链接。 TextMate帮助中说:

有改进打印功能的计划,但在此之前,源代码包中也有一个命令(将源代码视为PDF),它使用enscript从当前源代码生成PDF,并支持受支持语言的语法高亮显示。

这意味着(我还没有弄清楚“源代码包”是什么),您可以直接从TextMate转换为带有语法颜色的PDF。如果我找到了解决方法,我会在这里添加(最终)。

希望这可以帮助您。

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