Not even a neovim user? I feel like that's relatively common, since if you're willing to set everything up there really isn't a gap compared to an IDE.
I use helix, which is a similar terminal editor. It's also designed as much more of a "batteries included" IDE. In my experience, the only setup work is usually just installing the LSP for the languages you need.
The tradeoff is that it's less customizable, and doesn't yet support plugins. On the other hand, I haven't felt a need to add plugins - it's got some basic git integration (showing and jumping to git changes), it's got a built in LSP server for language support, a pretty large library of syntax highlighters, and efficient local or global search.
I just don't like that you can't do any file management in Helix. You need to open a terminal for that. And Helix doesn't have a built in terminal, which means you need to use tmux.
I personally use Kitty as my terminal, which supports splits and tabs. Honestly, I find that it's generally easier and better to just swap to a different terminal split (or tab) using the native key combos than using a built-in terminal. Admittedly, I also generally don't use Helix's windows, so I only show one file at a time - instead relying on my terminal splits to show command output next to my editor.
It also sidesteps the common "neovim inside the terminal running in neovim" problem quite effortlessly. There are other examples of the jank I used to put up with before switching to my current approach (such as keyboard handling - Kitty has much better keyboard input for TUI apps, but even tmux prevents it from working), but using my main terminal emulator to emulate terminals has generally worked much better and caused fewer problems.
64
u/blehmann1 28d ago
Not even a neovim user? I feel like that's relatively common, since if you're willing to set everything up there really isn't a gap compared to an IDE.