I feel like I am not asking THAT MUCH from my neovim setup, but it is so complicated. My collection of vim config is about 1000 lines, that's insane, but when I try to trim it, everything seems required.

My requirements:

- language support (syntax, formatting)

- lsp (I want the goto definition)

- file browser

- quick jump (fzf...)

- a little bit of eye candy, nice fonts and a few icons to make things clear

- auto reload if file changed externally

- splits I can manage with the keyboard

- persistent undo

- in terminal or with excellent SSH remote editing

I would love to have an editor with better defaults. I don't mind learning something good and robust if it will serve me for years.

My configuration[0] doesn't quite meet all of your requirements, but you might be able to get some ideas from it. If you delete my hacky and very opinionated color theme configuration, it's 418 lines.

- I use Neovim in the terminal, so that's where I configure the font (Hack Nerd Font Mono) [1], which I install via homebrew on macOS[2].

- LSP: Can't recommend mason.nvim and mason-lspconfig enough. Install LSP servers with mason.nvim, and then mason-lspconfig handles automatically configuring and enabling whatever you've installed.

- I'm using mini.icons[3]

- For the file browser, I highly recommend Oil.nvim[4], which I discovered from this video by TJ DeVries[5].

- I was using fzf-lua, but switched back to Telescope because it was a better fit for me personally (I missed C-k to automatically append a file glob to live_grep. I missed being able to toggle the previewer. I missed being able to hit Esc and move around the picker input box with Vim motions)

Might be misunderstanding "splits I can manage with the keyboard", but (Neo)vim is pretty configurable here! I actually just use the default keybindings of e.g.

- `C-w` then HJKL to move

- `C-w C-v` to open a side-by-side (vertical) split

- `C-w C-q` to close the current split

- `C-w C-o` to close other splits (make current split the only one)

- `[NUMBER] C-w C-w` to jump to the [NUMBER]th split.

- `C-w o` to jump back to the last split you were at

[0] https://github.com/wilkystyle/nvim

[1] https://www.nerdfonts.com/

[2] https://gist.github.com/davidteren/898f2dcccd42d9f8680ec69a3...

[3] https://github.com/wilkystyle/nvim/blob/db16245731dea45f0c58...

[4] https://github.com/stevearc/oil.nvim

[5] https://www.youtube.com/watch?v=-r1mMg-yVZE

My emacs configuration is around 500+ larger, but that's mostly because emacs is a whole ecosystem. My `.vimrc` is 244 lines and I think the lsp settings is around 100 of that. The rest is mostly mapping and a few plugins (vinegar, surround, fzf,...).

So... have you tried Helix? Covers everything you're asking for, and doesn't require any config fiddling for it.

Helix has no file tree.