<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>IDE on MoskitoHero</title><link>/tags/IDE/</link><description>Recent content in IDE on MoskitoHero</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 16 Jun 2026 06:52:46 +0200</lastBuildDate><atom:link href="/tags/IDE/index.xml" rel="self" type="application/rss+xml"/><item><title>My Dream Ide Does Not Exist</title><link>/post/2026-06-16-my-dream-ide-does-not-exist/</link><pubDate>Tue, 16 Jun 2026 06:52:46 +0200</pubDate><guid>/post/2026-06-16-my-dream-ide-does-not-exist/</guid><description>Random thoughts about my erratic / frenetic search for the perfect IDE, and why I keep switching between Emacs, Neovim, Zed (and Helix). What do I even want?</description><content:encoded><![CDATA[<div class="paragraph">
<p><a href="https://www.gnu.org/software/emacs/">Emacs</a> is my main IDE. It is powerful, versatile, and very stable. It has a few limitations I can live with,
like the absence of multi-threading, which sometimes gets in the way on rare occasions. Native compilation gave it
wings and the <a href="https://github.com/doomemacs">Doom configuration layer</a> enables an improved UX, great keybindings and sane defaults. Did I mention Org,
and more particularly <a href="https://www.orgroam.com">Org-Roam</a>?</p>
</div>
<div class="paragraph">
<p>On a side note, <code>Elisp (is a (nightmare (of brackets (you) need to (follow through) (and count) (which (I suck at)))))</code> — more on that in another post about programming language UX and why I love Ruby. But in the end, I can live with a few crashes here
and there as I get lost in the bracket maze when editing my <code>config.el</code>. I can count.</p>
</div>
<div class="paragraph">
<p>That said, there is <strong>some</strong> friction involved when using Emacs. MacOS integration is not perfect, especially when it
comes to managing the emacs daemon. I cannot make <a href="https://github.com/svaante/dape">Dape</a> (the DAP mode for emacs) work with ruby. I also find the UI to be
a little slow: typing has a tiny slight delay which kind of gets annoying in a subtle way. And that slaps you in
your face when you open <a href="https://neovim.io">Neovim</a>.</p>
</div>
<div class="paragraph">
<p>I’m a TUI nerd, so Neovim is one of the alternatives I turn to when I get bored or annoyed at Emacs. Like Emacs with Doom,
Neovim has the <a href="https://www.lazyvim.org">LazyVim</a> configuration layer to ease most of that side of things. Lua has a much better UX than Elisp, and
man, the whole beast is <strong>blazing fast</strong>, both in terms of loading time, overall snappiness, and typing rendering. Some
plugins are really better than the Emacs stuff (thinking about
<a href="https://github.com/kristijanhusak/vim-dadbod-ui">vim-dadbod-ui</a> — what a funky name, btw), some less (try to beat
Vertico + Marginalia + Orderless). Debugging ruby stuff works out of the box.</p>
</div>
<div class="paragraph">
<p>I have made my Neovim as similar to my Doom emacs configuration as possible, so switching is close to seamless. But I
miss a good integrated terminal experience - I am not very happy with how <code>:terminal</code> behaves, and it feels kind of odd
to open a terminal inside an IDE which lives in a terminal. I am trying to find a way to overcome this, but for now,
this is where some of the friction comes from.</p>
</div>
<div class="paragraph">
<p>This is usually when I open <a href="https://zed.dev">Zed</a>.</p>
</div>
<div class="paragraph">
<p>(Well, sometimes, I will start a <a href="https://helix-editor.com">Helix</a> session, get excited by the speed and simplicity, and then get frustrated for
 <a href="https://github.com/helix-editor/helix/discussions/3806">the lack of a plugin system</a> — mainly for git/JJ, running tests and that stuff — read the <a href="https://github.com/helix-editor/helix/blob/master/CHANGELOG.md">11-month-old release notes</a> and
related issue/PR threads, realize this is not going anywhere, and <strong>only then</strong>, open Zed.)</p>
</div>
<div class="paragraph">
<p>Zed is cool. It is like VScode stripped of the bloat and all the Microsoft cringe. It is sexy. Its development is
moving fast. It features AI as a first-class citizen, but does not shove it up to your face without asking you first, and you can ignore it altogether. Zed respects
its users by trying to serve them with a good product, not shove <code>&lt;paste the latest hype&gt;</code> junk down their throat to
get ready for the next VC fund. At least for now.</p>
</div>
<div class="paragraph">
<p>Zed is not a TUI, but <a href="https://zed.dev/blog/videogame">it is damn fast</a>. I get all the snappiness of Neovim, along with most keybindings. I get a rich
plugin ecosystem. But it is still somewhat limited compared to Emacs and Neovim — I am not blaming the Zed team,
though, I am comparing a 4-year-old project to IDE veterans (considering Neovim and its ecosystem is built on the
foundations of Vim).</p>
</div>
<div class="paragraph">
<p>Zed is currently lacking a Telescope-like picker (<a href="https://github.com/zed-industries/zed/pull/46478">but it is coming</a>), a merge tool, and a more capable plugin system to
be able to connect to, and manage your database, for instance, or offer the possibility to manage <a href="https://github.com/jj-vcs/jj">Jujutsu</a> natively (you
can do some of that stuff with workarounds, mainly with tasks). But the main friction comes from the Vim keymap
integration: it is good, but it is not available everywhere…​ like, you cannot do some stuff when in menu mode. So
if you want a mouse-less  experience, it just does not cut it.</p>
</div>
<div class="paragraph">
<p>So I launch Emacs…​ Emacs is where I feel at home, wearing my comfy slippers. I am editing the final draft of this post in Emacs right now, actually.</p>
</div>
<div class="paragraph">
<p>But that’s until I get frustrated again and decide to launch Neovim again…​</p>
</div>
<div class="paragraph">
<p>What is wrong with me? 🙄</p>
</div>
]]></content:encoded></item></channel></rss>