2020-05-15 09:38:58 -07:00

1.7 KiB

Gemini Vim Syntax

This repo contains basic syntax highlighting for the Gemini protocol's text/gemini format.

How to install

git clone
cd gemini-vim-syntax

That should get you up and running. Note that this installs the files for your user, not globally for the system. It should support Linux, Unix/BSD/Darwin, Windows, and Haiku out of the box.

What is supported

The current state of the syntax covers all items officially supported by the gemini spec:

  • Links get colored in three parts:
    • =>
    • URL
    • Link text
  • Headings
    • Up to three levels
    • Lines that start with one, two, or three # characters
  • List items
    • Lines that start with *
  • Preformatted text blocks
    • Handled as a range that starts and ends with ```

I plan to update the syntax when and if the spec adds more items to text/gemini.


This syntax is set up to be used with files labled with the gmi or gemini extensions. For example:

$ vim my_gemini_map.gmi
# or
$ vim my_gemini_map.gemini


It is possible that Windows users may find that the syntax does not work. I do not have a machine to test it on and would love some feedback. If it is not working it likely has to do with line endings. Windows uses <cairrage-return><<line-feed> and linux/unix use just <line-feed>. There are a number of ways to solve this problem ranging from just replacing the newlines manually to using software. In either case it shouldn't be too difficult.


All source files are provided under the unlicense.