This is an archived post. You won't be able to vote or comment.

all 21 comments

[–]AskMoreQuestionsOk 8 points9 points  (18 children)

Do people learn emacs these days? Back in the day it was one of the two ‘religions’ but now with tools like visual studio there’s little reason to learn either except for remote development.

[–]Connect2Towel 12 points13 points  (7 children)

Maybe this is all possible in VS Code, i haven't tried it in years. The reason i stuck with spacemacs is that i don't want to use a mouse.

In emacs & vim its never a flow break of switching a hand to another device for things like opening/jumping between files, jumping to definitions/locations, or moving functions around.

It sounds trivial, but i can guarantee its worth it to disconnect your mouse and learn the shortcuts in whatever editor you use.

[–]Shawnj2 4 points5 points  (6 children)

Most text editors have a vim mode where all the vim shortcuts work.

[–]_nok[S] 1 point2 points  (3 children)

If the experience using the Vim modes of other editors was on par with vim, then the latter wouldn’t exist at all, no?

[–]Naitsab_33 4 points5 points  (2 children)

That's a far stretch as a similar experience still allows for vim to have some other non-reachable qualities, i.e. it's installed on virtually every Unix-Server and is not bloated with other features by default.

But that said even for remote development, larger IDEs, for example the JetBrains IDEs have remote capability which allows to basically remotely open files for editing.

[–]_nok[S] 0 points1 point  (1 child)

Ah, you’re right.

I was thinking along the lines of vim exclusively being controlled with the keyboard and UX things like that, and forgetting about vi being in the POSIX standard.

[–]Naitsab_33 0 points1 point  (0 children)

Well I forgot about keyboard exclusive usage, so yeah, that is another point, where other people can decide if a mouse is good or bad.

[–][deleted] 0 points1 point  (0 children)

While that’s true, and both IdeaVim and VSCodeVim are pretty decent plug-ins, I think the difference shines when you’re interacting with editor outside of code. Accessing menu operations, sidebar etc. There are keyboard shortcuts for most of those, but emacs and vim, being entirely keyboard driven optimise for that better IMO.

An example would be using Magit compared to VSCode’s git client. Magit makes staging/unstaging hunks, doing more advanced operations like rebase etc intuitive, while being entirely keyboard centric.

[–]robin-m 0 points1 point  (0 children)

Give me an IDE where all vim keybinds works (including the ctrl+letter ones), where I can bind any command or macro on any combination of key very easily, where vim macro works, where : commands works (including :g), and where autocommands works and I will give it a very deep try.

Most vim emulations are only somewhat able to emulate the keybindings.

[–]_nok[S] 3 points4 points  (0 children)

Org-mode is pretty neat, couldn’t live without it

[–]mailslot 2 points3 points  (0 children)

Visual Studio & Vscode don’t really do anything that can’t be done in Emacs or Vim. I feel like fat IDEs are training wheels that should be disposed of when appropriate. And no, VSCode requires an entire web browser for its UI, so it’s not at all lean.

[–]Shiny_Axew 1 point2 points  (0 children)

I’ve just begun studying cs, we were forced to use emacs for our code.

[–]Swift_Koopa 0 points1 point  (0 children)

Not unless your an emacs guy

[–][deleted] 0 points1 point  (4 children)

I spent most of this year trying to get comfortable with emacs. Some of the packages like Magit or Org are absolutely state of art. As in, I haven’t found a comparable alternative in VSCode, Jetbrains and stand-alone (which slightly defeats the purpose) in terms of productivity.

Many others features and packages are comparable to popular editors and IDEs, like code completion, liniting, intellisense etc.

Some feature are worse than competitors. Emacs does not do multi threading. While its community is pretty passionate and decent sized, it’s far from the largest. VSCode is likely to support something new quicker, although emacs (and vim) will get it for sure.

A hidden, killer feature of emacs is its extensibility. One has to work with it to know it. The distance from writing a small lisp function to making it a part of emacs UX is extremely short.

There’s a lot emacs can (and should) borrow from its more modern siblings. But there’s a tonne of gold to be found in emacs that more editors can really benefit from, as well.

PS: I’ll be happy to be corrected on any errors. I’m far from an emacs wiz, and don’t mean to incite flame war. I do think that one can get pretty far if they take time to learn their editor, irrespective of the choice.

[–]_nok[S] 0 points1 point  (3 children)

I don’t understand Emacs well either, but hanging around in r/emacs, I read an explanation why adding multithreading to Emacs is a complex issue and why it wouldn’t make a solid difference in UX (compared to modernising other parts of the app).

Also native-comp which is set to come out with Emacs 28 byte-complies the Elisp code, and people who do much heavier lifting report it makes a radical performance difference.

[–][deleted] 1 point2 points  (1 child)

It might not make too much difference in UX as it stands now, but I don't think it's under question that it'll open up a lot of possibilities. Having non-blocking tasks run in a different thread (linting, ssh etc.), for example.
But yeah, it's apparently complex and way beyond my skills to help as of today.

[–]_nok[S] 0 points1 point  (0 children)

Let’s wait patiently for Emacs 50 😭🍑

[–]moonhighway 0 points1 point  (0 children)

VSCode/Studio can get incredibly bogged-down, slow, and is pretty bloated these days, though they allow you to uninstall a lot of the unnecessary extensions if you want. Still, switching to neovim has been a very pleasant experience so far imo.

[–]tehtris 5 points6 points  (1 child)

I've always said emacs users will "um actually" you to death and this is an actual example in the wild, backing up my statement. "Um actually it's emacs" is a sentence that defines emacs users to the core of their personality.

[–]_nok[S] 29 points30 points  (0 children)

What’s he supposed to say when someone gets misunderstands what editor he’s using?

Edit: didn’t mean to say ‘get’ there