Sublime Text (https://www.sublimetext.com/) is fantastic. Startup time is instant. RAM usage is low. It'll do syntax highlighting out of the box. And with a few extensions (optional) it'll do almost everything that VS Code does (sublime-lsp is key for IDE-like functionality). It's also great for large files so long as they'll fit in RAM.
Bonus: it works cross platform (windows/mac/linux).
+1 for Sublime Text. Additional lesser known capability - it is possibly the best editor for gigantic text files. I have used it to open and edit files with 5.5 million lines, and it was reasonably fast. Afaik not many editors can even open very big files.
Gotta throw my vote in for this, too. I have been a paying user since the first version, after leaving Textmate. I daily drive VS Code now for the remote experience, but Sublime blows it away in performance. Even on the nicest hardware imaginable there is noticeable input latency on virtually all tasks in vscode.
Adding to this, while the software is proprietary the community mods/plugins/packages ecosystem is very healthy and easy to use. https://packagecontrol.io/
I tried to open a 90GB file once (on a system with 16GB RAM), which it didn't like very much. It didn't actually crash, I just gave up on it before it completed loading the file (I suspect it may actually have worked eventually, utilising swap - but I imagine it would have been unusably slow). I think for such large files you really need an editor that doesn't buffer the entire file into RAM and loads chunks in from disk on demand.
That said, if your file is more reasonably sized (I've opened 7GB files no problem) then the performance and feature set you get is impressive. You can get instant scrolling to anywhere in the file, full syntax highlighting, find and replace, multiple cursors, etc all with reasonable performance. I find it does lag a little when making edits - especially with multiple cursors - but it's still quite usable.
> I think for such large files you really need an editor that doesn't buffer the entire file into RAM and loads chunks in from disk on demand.
That's what mmap does: maps the entire file into the address space of the process while letting the kernel load the pages as they are touched. I assume that would improve performance significantly but I'm not sure if anyone's tried it.
That would be read-only though, so not an ideal solution for Sublime. Although one could mmap and then reference the original from a structure describing how the file was modified.
However mmaping files which can be modified by another process concurrently is tricky. You can just get killed by SIGBUS.
This is my goto as well. There are other Windows-exclusive options but it being cross platform makes it a no-brainer for those bouncing between OSes, since things like configs and plugins can be easily shared between machines.
It also eschews Windows’ notoriously dodgy text rendering in favor of its own which means that it doesn’t share text rendering quirks with e.g. Visual Studio (the full fat IDE, not the electron thing). When doing C# work I wish I could transplant Sublime’s editor view into Visual Studio because it’s just so much better.
Just tried to load an .EXE and it only seemed to list as binary when loaded, that's OK but is there a 'load as text' option? Forcing text mode is sometimes useful when recovering damage files (loading a PDF seems to work as text). Sorry if I've overlooked something major.
You'd usually look up stuff like that with a shot in the dark into the fuzzy-searching command bar, I believe it's available with ctrl+shift+p? It's been a while since I've used sublime.
When you try saving a file randomly you get pop ups telling you that you need a license. Eventually it gets so irritating you give up on sublime text entirely.
Bonus: it works cross platform (windows/mac/linux).