A Neovim addon for browsing Gemini content using the
openk.py command.
It will support others, too, but openk is the one I started with.
:Go command to fetch Gemini pages and append content to
the current buffer--linkmode=end
option<Leader>. to pass the link under the cursor to
the :Go commandopenk.py command installed and accessible in your
PATHOptionally, ansi.nvim can add color to the page content by converting escape sequences.
Place this plugin in your Neovim plugin directory.
Add the following to your init.lua:
require('neopunk').setup()Or, the lazy way:
{
"https://thatit.be/neopunk.nvim.git",
}
Or using an example of the default config:
{
"https://git.thatit.be/neopunk.nvim.git",
config = function()
require("neopunk").setup({
key = "<Leader>.",
execute_command = "openk.py --linkmode=end %s",
})
end
}
:Go [URL]Fetches a Gemini page using opnk --linkmode=end and
appends the content to the current buffer.
<Leader>. in Normal
ModeIn text files (which includes Gemini content), pressing
<Leader>. will automatically use the :Go
command to fetch and display the link content.
gemini://thatit.be)<Leader>.The content from opnk --linkmode=end will be appended to
your buffer.
Before navigation:
gemini://thatit.be
After navigation (escape sequences preserved, highly recommend :AnsiEnable with ansi.nvim):
# gemini://thatit.be
2026-02-19 21:14: Fetched gemini://thatit.be
[31;1mthatit.be (14 links)[22;2m (last accessed on Tue Feb 17 11:01:27 2026)[39;22m[0m
[34;1;4mTHAT IT BE[39;22;24m
> [3m“Yes, it is,” not “That it be.” And you don’t have to talk in that[23m
> [3mstupid voice to me, I’m not a tourist![23m
– Blackadder
Among other content here is a collection of miscellaneous notes. They’re
not as clear and coherent as the entry-points below. They’re more ZK-
style notes that I’ve tagged as publishable so that I can review or
reference them later. They can be found by browsing the tags or cross
linked from other notes, or from the massive page of all notes.
[34mPosts[39m
[1] 2026-02-09 - launch email from offpunk
[2] 2026-02-07 - Doing Not Much Tweaking
[3] 2026-02-05 - Git and Email Patches
[4] 2026-02-04 - NixOS Books
[5] 2026-02-03 - added a pipeline
[6] 2026-01-30 - AI so far
[7] 2026-01-28 - git repos on thatit.be
[8] 2026-01-11 - Epy for Epub
[9] 2026-01-10 - AI in Neovim
[10] 2026-01-01 - making yogurt
[34mNavigation[39m
[11] all notes
[12] tags
[13] atom
[14] contact me
(re)generated: 2026-02-16[0m
[1] gemini://thatit.be/2026-02-09-15-31-46.gmi
[2] gemini://thatit.be/2026-02-07-18-54-20.gmi
[3] gemini://thatit.be/2026-02-05-22-03-16.gmi
[4] gemini://thatit.be/2026-02-04-22-16-06.gmi
[5] gemini://thatit.be/2026-02-03-08-38-56.gmi
[6] gemini://thatit.be/2026-01-30-16-14-51.gmi
[7] gemini://thatit.be/2026-01-28-06-37-54.gmi
[8] gemini://thatit.be/2026-01-11-09-50-48.gmi
[9] gemini://thatit.be/2026-01-10-11-01-40.gmi
[10] gemini://thatit.be/2026-01-01-09-10-40.gmi
[11] gemini://thatit.be/notes-all.gmi
[12] gemini://thatit.be/tags-all.gmi
[13] gemini://thatit.be/atom.xml
[14] gemini://thatit.be/contact.gmi
Further pages can be fetched by invoking over a numbered link. If it's from a numbered link in the page body it has the added bonus of using that link label in the heading it creates upon fetching the next page.
Last updated: 2026-02-19 21:22:18