HACKER Q&A
📣 IndigoIncognito

Text Editors


Hi, I'm looking for a free text editor/ IDE that supports C#, Golang, YAML (Optional), Vlang (Optional), Rust I am looking for the following features:

Code autocompletion

Syntax highlighting

An Integrated terminal - (Optional)

A sidebar explorer (To browse files in a project)

A GUI (I just need mouse support really) - (Optional, but heavily preferred)

Near Native performance, (I'm recording my code on a really weak system, So electron apps are usually not a viable option due to intensive memory and CPU usage)

I've tried VS Code, I have stated why I "cannot" use it above

I have tried Emacs, but I was too overwhelmed and didn't know where to begin

I am currently using Sublime text, but Code completion is very confusing to set up and isn't useful when it actually works, as a lot of functions in most languages are straight up missing.

(Windows 10/11)

I don't mind if there is a learning curve as long as there is easy to follow documentation and as long as it's not too time-consuming to learn

I realise I am looking for an "Eierlegende Wollmilchsau", but I have been made aware that there are in fact heavily extensible and lightweight text editors for programming

So my question is: Is there a text editor that meets my requirements? If said text editor has a "big" learning curve, are you aware of a non-time consuming tutorial/ docs


  👤 foobarbaz33 Accepted Answer ✓
Vim and Emacs might be the only options for "light weight". Packages can provide all the extra things you want like side bars, etc.

Emacs is heavier and slower than Vim out of the box. But as you gradually accumulate more and more 3rd party packages written in the editor's scripting languages the performances start to even out and they are pretty much the same. You pay the price of Emacs during the initial startup, but after that everything is golden.

Vim has an integrated terminal. Emacs has several options for terminals, the most "native" being vterm. Vterm highlights Emacs dynamic modules feature which is pretty cool for SUPER performant native packages, although it's only used for a small handful of things at the moment.

LSP is the thing that really makes what you want possible. Now all editors can much more easily support completion for tons of languages. I love the idea of it. But LSP just feels janky to me. I can't quite put my finger on it, but it never feels as good as a dedicated single language completion. For example SLIME is much better than any LSP experience, in completion, debugging, and flying around the code base.


👤 jray
Neovim https://neovim.io/

Cross platform Neovim front-end UI, built with F# + Avalonia. https://github.com/yatli/fvim


👤 scombridae
there are in fact heavily extensible and lightweight text editors

Actually emacs is the only one, and it's definitely out of the question for a C#, mouse-heavy talker who found setting up Sublime confusing.


👤 night-rider
Notepad3, Sublimetext