How to get code block with syntax highlighting into LibreOffice Writer

I am using Linux. I want to write small pieces of code and paste them into LibreOffice Writer. I do not care too much about which code editor to use, although preferably it would be ViM or Sublime Text 3.

I have tried several avenues, but all of them are unsuccessful:

  • Write the code in ViM and save them as HTML with TOhtml. Then, open the HTML file with Firefox, copy the code and paste it in LibreOffice with Paste Special/HTML. The colors are gone, though.
  • Write the code in Sublime Text 3 and export it using the SublimeHighlight module. I can copy the text as RTF/HTML, but when pasting it in LibreOffice it pastes the literal HTML code. Paste Special didn't solve it either.

How can one paste HTML/RTF code into LibreOffice Writer?

Running Xubuntu 16.04 and LibreOffice 5.1.6.2 10m0(Build:2)


Libreoffice extensions

There are several extensions that allow to highlight a code snippet.
You can search for them in extensions.libreoffice.org.

Among the others

  • code highlighter
  • code colorizer formatter

The steps to follow are usually as easy as

  1. Insert a new Text Box (Insert -> Text Box)
  2. Copy and paste/write your code snippet into the text box (You can choose any fonts based on your preference)
  3. Select the text box
  4. Go to Tools -> Highlight Code -> Language of the code

(From Code Highlighter)

You may need to install

sudo apt install libreoffice-script-provider-python python3-pip
sudo pip3 install pygments