Why not just use vscode if you want a more featured experience, and vim/neovim if you want a minimalistic experience?
(not including the fact that Microsoft owns vscode and that some parts are not open source, im aware of that, so no need to mention it)
more featured
You haven’t actually spent more than 30 seconds looking at emacs resources.
troll alert
Org Mode
One reason is that VS Code hadn’t existed yet when I started using Emacs.
Another reason is customization. Emacs is one big Lisp interpreter, while VS Code is a desktop application with JavaScript frontend. VS Code would never achieve the level of customizability Emacs offers.
As someone else has mentioned, Emacs is the oldest and mature, so it is nearly impossible for a new editor to catch up with all of its functionalities.
When I started using emacs there was no vim, just vi.
you can run VS code in browser, but i can run browser in Emacs. That’s why Emacs > VS code. Also there are myriad of reasons to use Emacs, since it’s more than just editor. It’s environment that can be used to create anything you need to do what you want.
Isn’t VS Code less feature ful than Emacs, not the other way around? Does it have keyboard macros, can I extend the editor by writing a function in Javascript in a scratch buffer and bind it to a key without needing to package the whole thing as an extension? I confess I haven’t tried VS Code but from what I hear it sounds like it wouldn’t let me automate things to anywhere near the extent I can in Emacs.
If you love vscode so much, may I introduce you to…
Vscode running inside Emacs!
Such a weird and lazy question. emacs is over forty years old, has whole applications written in it and people have slowly modified their own configs for decades to be thousands of lines of code.
EXWM (Emacs X Window Manager) is a thing, an X11 window manager. ANYTHING is possible in Emacs.
bro one the reasons is that emacs is almost an operative system and still lighter than vscode
Honestly getting VS Code to work like Emacs does for me would be a huge undertaking. Its simply closer to how I want to use a text editor.
For example, debuggin - use GDB - integrates with Emacs. Move around - use Evil. Interact with Git - Magit. Terminal - Eshell. Syntax highlighting - tree-sitter, and of course, LSP for actually jumping around and refactoring with some smarts.
Its quite simple and elegant. Sure, its not accessable since its all keyboard shortcuts.
I guess for the consistency.
Say you want to copy or paste thing from the command you are typing, can you do the with the same shortcut in the insert mode?i think the real competition here is vim.
vscode is a user-friendly editor that you just start using as a no brainer. You unlikely to learn more as you go (maybe a couple of shortcuts). So you get what you see pretty much
vscode is like a lego set. Emacs is more like a piece of marble. Harder to work with but has so much more potential.
and btw, vscode is the minimalist here
Emacs is more like a piece of marble. Harder to work with but has so much more potential.
More like a ball of clay: infinitely and trivially malleable. And you can bake parts of it into ceramic whenever you want.
well, thats too ambitious. But whatever
multi-cursors in an editable grep result over files limited to the current project. Modify, save, and all relevant files are updated.
Never seen this level of integration of features in any of the other editors I have tried during my 25 years of using emacs.
Why not?
To give you an honest answer: for that feeling of freedom. For most tools there exists a clear distinction between the developer elite and the unwashed user masses, where users only get to have a very curated experience decided upon by the elite. To make it worse, those tools often suffer from what I call “the redesigner syndrome”. It’s when a new ubermench designer(developer) takes over a part of the functionality, redesigns it to support 1-2 of use cases he’s interested in(aware of) and then makes the 10 other long standing ones worse or outright breaks them. To user concerns he smugly answers “well, you shouldn’t be even doing that”.
Emacs has the smallest distinction between the stuff imposed upon you and the stuff you select yourself. Then, it’s so easily customize-able that with practice, when you run into some task that can be automated, you’ll have a working solution within minutes. That solution would probably be a Lovecraftian abomination, but you may choose to share it with other hackers anyway, who would then use it as a building brick for even more abhorrent abominations of their own.
Vscode did not exist when I started coding, and no doubt it will eventually reach its end of life, long before I’m dead.
Emacs does almost everything, and the fact that I’ve been using it for 30+ years means I’m familiar with the options and limitations.
Sometimes I look at alternatives, but nothing else is as flexible and customizable as Emacs.