Show HN: McWig – A modal, Vim-like text editor written in Go

140 andrew_bbb 13 6/12/2025, 1:32:56 PM github.com ↗
Hey! Check out my "toy" text editor which I use as my daily driver.

Features LSP autocomplete, goto definition, hover info

Tree-sitter support

Color themes (borrowed from the Helix text editor)

Lots of bugs

Macro support

Something like Emacs org-mode: Open test.txt, place the cursor at line 15, and press "Ctrl-C Ctrl-C".

This project was written as a "speed run" — not for speed in terms of time, but rather as an exercise to explore the text editor problem space without overthinking or planning ahead. It’s a quick and "dirty" implementation, so to speak.

https://github.com/firstrow/mcwig

Comments (13)

xlii · 10h ago
When it comes to Go editors (IMO Go is perfect language for such editors) I also need to mention https://anvil-editor.net

It's ACME inspired, open source (although I don't think it's published on GitHub, one needs to download), and it's actually quite nice to work with due to its composability).

Takes some time to use, but it's really fun to use for stuff like ad-hoc documentation, completion etc. Oh, and it also has REST API for interaction with external tools so you can Go (pun intended) crazy on it.

paddy_m · 20h ago
That's a lot of code for a toy project, impressive commitment!

How does the VIM family generally handle extensibility?

Do you have any unique takes there?

I use Emacs, and I get how emacs does it (smallish runtime for text display and lisp interpreter, everything else in lisp).

scuff3d · 18h ago
I love bugs being a feature lol.

Awesome project man. I'll have to spend some time exploring the code base when I have time.

iamkoch · 11h ago
That got me chuckling too
imiric · 10h ago
Looks great. Awesome job!

I know you haven't planned ahead, but have you thought about extensibility? One of the main benefit of Vim and Emacs is that the user can customize it exactly to fit their needs, and the large ecosystem that exists around that. I suppose it would be smart for any new editor nowadays to be able to leverage existing plugins from other ecosystems, rather than starting from scratch.

nickandbro · 22h ago
Like the color schemes! I myself am working on an app called https://vimgolf.ai to make it easier to learn how to use vim. Might copy what you did with copying the color schemes from the helix code editor.
wyclif · 8h ago
Just name it Wig. It's cleaner. <SeanParker.gif>
lsllc · 22h ago
So interesting that you use diffs for undo/redo! Ingenious!
hit8run · 11h ago
Love it! I'm a big fan of code terminal ui code editors. Currently for that purpose Helix is my daily driver. Will try out yours shortly and don't let anyone discourage you! Keep going. Adaption will follow.
tempfile · 22h ago
Looks lovely. Where does it deviate from vim? Evidently it is modal. What features make it more effective than vim is?
90s_dev · 1d ago
This is incredible! It looks beautiful, with a perfect type of minimalism, and supports modern features out of the box. Very good job! If I used terminal editors anymore, I would certainly use this!
andrew_bbb · 1d ago
I appreciate your feedback!
sdegutis · 20h ago
No problem. Glad it made it to the front page quickly like I said it would. Now I don't look so dumb :D