我想将我的终端的显示包含在投影仪演示中。然而,简单地截取屏幕截图会生成分辨率相当低的 png,在演示文稿中看起来很糟糕。如果我能以某种方式创建终端显示的 PDF,我会很高兴,这样图像在演示文稿中看起来清晰干净。作为注释,我正在 VIM 中查看一个文件,它应用了我想保留的非常好的语法突出显示。这就是为什么我不只是将文本复制并粘贴到文字处理器并另存为 PDF。有什么办法可以实现我想要的吗?
答案1
我会尝试使用 Vim Syntax->Convert to HTML 菜单选项将语法突出显示的代码编写为 HTML 文件。然后在浏览器中打开 HTML 并打印为 PDF 文件。如果您只想显示代码的一部分,当然可以编辑 HTML,或者使用 pdfcrop 来隔离感兴趣的区域。
答案2
您可以使用以下单行 vim 命令从 vim 中创建 .pdf 文件:
:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps
笔记:
- 是
%
当前文件名的简写,因此HelloWorld.C
将打印到HelloWorld.C.pdf
- 如果您还想保留中间 .ps 文件,只需省略
&& rm %.ps
,即可获得::hardcopy > %.ps | !ps2pdf %.ps
此外,要更改呈现的字体,请设置 printfont前执行硬拷贝命令。例如,选择 Courier 8:
:set printerfont=Courier:h8
综上所述,我选择将以下内容放入我的 .vimrc 文件中,以便我可以简单地执行命令:HardcopyPdf
(也可以对文件中的选定范围进行操作):
set printfont=Courier:h8 "select the font to use when printing
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'
答案3
无论你用什么来截取屏幕截图,都会背叛你。使用不同的软件包(我更喜欢scrot
在 Linux 上),或者使用操作系统内置的屏幕截图键。
答案4
您不需要屏幕截图,您需要文本抓取。突出显示窗口中的文本,然后使用固定宽度的终端字体将其粘贴到演示文稿中,它会为您完美缩放。如果原始软件显示中有奇怪的 ascii 艺术字符,您将需要完美匹配字体,以便代码能够正常工作。
未经测试:这可能对你有用:https://www.dokuwiki.org/plugin:xtermrtf