Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

PyCharm, Pygments, and Keynote Syntax Highlighting

DZone's Guide to

PyCharm, Pygments, and Keynote Syntax Highlighting

· Web Dev Zone ·
Free Resource

Learn how error monitoring with Sentry closes the gap between the product team and your customers. With Sentry, you can focus on what you do best: building and scaling software that makes your users’ lives better.

I’m prepping talks for a few conferences. I think I’ve got my workflow down for syntax highlighting slides in Keynote on my Mac.

1. pip install pygments, not in a virtualenv but in your default Python.

2. Make a Bash script like:

#!/bin/bash
/usr/local/bin/pygmentize -f rtf -O "style=friendly,fontface=Courier Bold" "$1" | pbcopy

Make sure it’s chmod’ed executable and on your path. Now you can do pyg myscript.py and then paste the syntax-highlighted code into Keynote. The result is pretty nice; at some point I may make a Pygments style optimized for presentations:

Pygments output

3. In Keynote, turn off all auto-correction:

Keynote auto-correction

4. Bonus round: PyCharm integration. In PyCharm’s preferences, choose “External Tools,” hit the “+”, and fill out the dialog like so:

PyCharm Edit Tool

You can leave “Open Console” checked while you’re getting things working.

Finally, in the “Keymap” section of PyCharm’s vast settings dialog, search for “pyg” in the filter box, right-click on it, and assign a hotkey of your choice to the tool. I chose Command-Y because it was bound to some weird function I don’t use.

PyCharm assign hotkey

Now whenever you’re editing a file in PyCharm, you can save it and hit Command-Y, then switch to Keynote and paste.

Readers, if anyone can tell me how to adjust the default font size in Pygments for RTF output specifically, that’d be great.

What’s the best way to boost the efficiency of your product team and ship with confidence? Check out this ebook to learn how Sentry's real-time error monitoring helps developers stay in their workflow to fix bugs before the user even knows there’s a problem.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}