Comment by Surac

2 days ago

can anyone recomend a alternative that is easy to install and also offers syntax highlighting? i have read about lazyvim and neovim, but both have extensive install requirments as i have read

If you really only care about syntax highlighting then nearly any code editor will do. Even nano supports it, it’s just disabled by default.

If you want something powerful yet easy to pick up, you might want to look at e.g. Zed (GUI IDE), Sublime Text (GUI editor), or Micro (TUI editor). If you don’t mind a learning curve, Vim/Neovim and Emacs are excellent choices. But there’s a lot of other options out there, like Gedit, Kate, BBEdit, Notepad++, etc. depending on your platform of choice.

LazyVim is about as easy as it gets in the Vim space for a fully-fledged (but customizable) editor.

https://www.lazyvim.org/installation

Then run `LazyExtras` and you get a prompt that shows things like:

  Recommended Languages: (2)
    ○ lang.docker    mason.nvim  nvim-lspconfig  nvim-treesitter  none-ls.nvim  nvim-lint
    ○ lang.toml    nvim-lspconfig

Hit x against a couple and you're off to the races.

[lang.docker and lang.toml are examples of things you're selecting, the list after is what is being installed and configured for that thing]

For things like integrating a debugger, or to run your tests directly inline from the editor might require more customisation though.

I've been having a very good time with Zed. Great vim motion support, and fast to the point where using VSCode feels like driving a semi truck by comparison.

https://zed.dev

  • Yet the UI is terrible. I trashed it because of that -really wanted to give a chance.

For TUI, Helix has a lovely out-of-the-box experience. What little config there is (two TOML files) is relatively easy to grasp. The main barrier you'll face is setting up your LSPs, which need to be installed manually. (Luckily, there's `uvx -q` for Python LSPs.)

For GUI, Zed is also really nice, has a great Vim mode, and auto-installs anything you might need. It loses a couple of points to VS Code on account of not being arbitrarily extensible, although that can also be seen as a plus, as it prevents extensions from randomly slowing everything down.

I’ve been using Zed [1] for some time now. They are also pretty AI focused so it may only be a matter of time, but so far I’ve been able to disable all of the AI interactions.

[1] https://zed.dev/

I'm a Kate zealot, if you're on Linux it's great with some LSP servers. The plugins/extensions are nice. There are also macOS and Windows builds.

For the terminal, micro is nice if you're used to GUI editors.

  • Kate is such a refreshing change. Super responsive and fast under Asahi. It's the best dev environment I've worked with in a very long time.

    A few niggles with the switch, like it seems to assume Git but I'm using Fossil. I also haven't found a decent cheat-sheet for keyboard controls. I got duplicate block and move block working, and really enjoy the column editing, but still using cut for line delete.

    I think KWrite is the same engine underneath? at least it feels much akin to Kate. I use it mainly for assembly files, since I was able to hack in an armv8 syntax file and needed a different theme than Kate.

    • Yeah KWrite is a lite Kate. If you go through the settings, there's a Fossil checkbox, too :)

What do you mean by "extensive install requirements"...

Anyway Zed is a good option.

VSCodium has been my go-to. VS Code was great for a bit but (even long before this) it was already suffering from the cancer that is "being a microsoft product" and it was being bloated to death like everything else they ship, but VSCodium seems to keep enough distance to be immune. Will it stay that way? Who's to say. I hope so though.

  • +1 on VSCodium. It was a 99.99% seamless transition, for me. The only annoyance at all was not having VSCodium added to my context menu, which doesn't even matter if you never "right-click->open folder" to launch. And, obviously, is pretty easy to add back in both windows and linux.