如何打印突出显示语法的Ruby代码?

时间:2010-01-21 19:32:18

标签: ruby printing syntax-highlighting

我使用TextMate进行Ruby编辑,但在打印文件时,代码不会突出显示语法。是否有任何好的程序可以打印格式良好的颜色突出显示的Ruby代码?

6 个答案:

答案 0 :(得分:2)

我使用的一个很好的解决方案是通过vim从TextMate打印,它会为您提供语法突出显示和行编号的结果(或者您选择配置它。)除vim之外它需要ps2pdf,但这些内容很容易安装macports等。

唯一的限制是需要先保存文件。

请参阅this page,其中显示了如何将宏设置为TextMate'命令'。

答案 1 :(得分:1)

syntax gem非常棒。

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然后从你的浏览器打印出来。

答案 2 :(得分:1)

我不知道它是否与Mac世界相关,但是捆绑的SciTE编辑器 我们的HP Laserjet上的one-click installer for Windows打印颜色很好。我没有尝试从各种IDE中打印 - 我应该尝试一下。

答案 3 :(得分:1)

我可能会使用Ultraviolet来创建一个HTML文件,该文件的语法高亮显示...

答案 4 :(得分:1)

显然很难与打印机通信,* .txt等效文件需要着色,但显然可以完成。 TextMate的创建者只是简单地表达了他并不认为它具有足够重要的功能,这基本上意味着它实现起来非常困难。

Aptana可以做这件事没问题,但需要永远加载。

输入vim。 vim可能已安装在您的计算机上。

vim filename.m
:syntax on
:hardcopy

同样,没有任何提示要使用哪台打印机,因此请确保系统的默认打印机设置正确。

如果您必须使用:syntax on命令让vim为您的代码着色:

默认设置vim进行基于语法的着色:

nano ~/.vimrc
syntax on

save&退出

答案 5 :(得分:0)

谢谢,boulder_ruby

2016年底(2年10个月后)还有几点:

如果您使用的是Windows,则无法指望已安装VIM。 Stack Overflow中的成员资格确实提高了赔率,但可能不会达到90%)。但是,VIM for Windows很容易获得。 www.vim.org/download.php

Mac默认配备MacVim。

在Mac上,按照你的建议使用MacVim,我小心地将默认打印机设置为我可以清空队列的打印机,然后再浪费测试纸张。

然后我使用了:hardcopy VIM命令。印刷版直接打印到PDF并在预览中打开。它从未出现在默认的打印机队列中。

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

  

有计划提高印刷能力,但在此之前,   Source包中还有一个命令(以PDF格式查看源代码)   使用enscript从当前源生成PDF并具有   语法突出显示已启用支持的语言。

这表明(我还没有弄明白" Source bundle"然而)你可以直接使用TextMate语法着色的PDF。如果我弄明白了,我会在这里添加一些东西(最终)。

我希望这会有所帮助。