I am obsessive about the tools I use. The more that I can modify and own those tools, the more easily my work can flow from me. This is what initially drew me to Neovim 3 years ago.
I had previously used Visual Studio Code which offered some meaningful level of customization via extensions. I enjoyed writing my own custom extensions and color themes. It made the tool feel unique and tuned to me.
Neovim expanded my toolset. I could do anything to my editor that I could accomplish with Lua. But earlier this year, I began to use the Zed editor after hearing Zed’s secret sauce on Changelog and Friends.
Zed is a fantastic editor and the work that’s been put into it is amazing. I was particularly interested in the blog posts they’ve put out about their work. Rope & SumTree is a great one to check out.
However, after about 8 months using Zed, I’m back to using Neovim. There were a few things I struggled with in porting my workflows over to Zed. For example, I like to work with “tabs of panes” where each tab can have its own separate division of panes. Zed only allows “panes of tabs” wherein each pane can have multiple tabbed files open. I also struggled with Zed’s snippets integration which never worked for me somehow.
I have also historically built my workflow around very quick terminal access.
Working in a terminal-based editor means I have incredibly quick access to the tools in my terminal (duh).
I use Zellij to manage multiple terminal panes.
I will usually keep my editor open and toggle terminal panes with CMD+O
.
These panes hover over the editor and allow me to quickly run commands or check the status of my tests.
The final push that I needed to get back into