One thing I've noticed is there are very few good emac videos tutorials out there, at least compare to VScode and any other IDE.
Its a very powerful tool sure, if you memorize all the hotkeys and commands. But to get to that point requires a lot of memorization and practice, something I don't have the luxury of. Time spent familiarizing myself with a nice GUI interface like VScode to get the same job done is easier.
I almost never cut corners when it comes to adopting tools. I always adopt the simplest tool first, usually this is things like pen+paper, stickynote pads, etc. If the simplest tool suffices for all my needs, I don't upgrade. I believe dumb tools are always better, there's less moving components and more rigidity/opinionation. Plus I can touch and feel it, etc. However, I will always constantly do research and A/B test new tools almost everyday, just to see whats out there.
I think people honestly get too invested in their tools. A tool is a tool, nothing more nothing less. If someones first thought about you is "oh he's that emacs guy!", thats not a good thing.
But I still understand that people have lived and grown up with emacs, and its been something they have nurtured their entire life. They've built optimized workflows for any situation, and memorized hundreds of tidbits for making things work fast. Jumping ship is like tossing away part of your identity, so its not an easy transition.
Emacs actually has a built-in tutorial. It takes an hour or two to go through, if I remember correctly. Most people don't do it, I think, because they think they know how to edit text - you just use the cursor keys and hit the keys you want to insert?
But if you follow the advice in the tutorial and practice over a day or two at a reduced speed, it does actually make a noticeable difference, IMHO.
It's a bit like touch typing. I know plenty of programmers who can't touch type. Yet, in my experience it actually frees a noticeable amount of brain power. But it does take maybe 10-20 hours to learn. So people don't do it.
What VSCode offers on this front that strikes me as a really killer feature is the command palette. It's a great UI - whenever you want to do something, and you're not sure what to do, just hit the hotkey to open the command palette (on Macs it's shift-splat-P) and start typing the name of what you want to do. It'll give you a menu of actions, and, if a hotkey is assigned, show it to you.
It means you never need to leave the keyboard to hunt through menus to find something, and you also don't need to read through endless lists of hotkeys and create Anki flashcards for them just to get yourself pushed over the "I can't get any work done here" phase of the learning curve.
You can use `helm-M-x` from Helm[1] to do the same in Emacs.
Anki should be used for memorizing concepts you understand already not button pressing.
Instead, my new macbookPro (and my first time using macOS), I have dozens of printed out cheatsheet snippets and stickynotes littering the edges of the keyboard. I write down a bunch of hotkeys I can refer to instantly by glancing down at my keyboard. Conceptually, its the same way I did things with cheatsheets in college before an exam - it just works. I made a legend for things like ⌘⇧⌥⌃⇪, these are very unfamiliar to me as a windows user.
It makes for a frictionless experience for memorizing commands.
I learned to touchtype from playing too much starcraft growing up. If you didn't touch type you were never going to be good, period.
Consequently, playing FPS so much growing up has given me extremely precise mouse movements. I rarely ever misclick things on accident, those quickscopes came in handy.
Gonna have to disagree here, there are good tools and bad tools. This mindset of a tool is a tool is why my company still uses cmsynergy and why nobody writes code is MS word.
Being thought of because you have proficiency in a tool is definitely not a bad thing, especially if it allows you to be more productive. Investment in a tool like emacs also typically isn't a bad thing because emacs can be found on just about any Linux PC in existence, same with vim.
A lot of people use keybindings all the time, even on vscode/atom(at the very least copy/paste). People using vim/emacs don't start by memorising all keybindings, they start with very basics and as they find more useful things, they start using them.
> I think people honestly get too invested in their tools.
Editor is the most important tool for a programmer, so yes you should invest in it(may it be vscode/vim/emacs).
Editor is the most important tool, I agree with you. I still use VIM when working with servers, but that's about it.
I mostly do frontend development so I don't see a huge amount of value investing in emacs. My perspectives might change down the road, when I start working on backend infrastructure.
I still think emacs has too high of a learning curve for the value you get out of it. Installing emacs on windows is not entirely straightforward either, I have to go watch a video to even install it. I write my own scripts and macros on windows all the time though.
The reason why I prefer GUI interfaces is because I can only deal with so much cognitive overhead. I still initialize most things using a CLI (e.g. cloning a git repo). However I don't only do programming, I also do UX, graphics design, and 3D CAD modelling among other things.
Emacs should have enough value to warrant the amount of cognitive overhead it cost. It does if you only program though.
VIM on linux can do some absolutely amazing things with just a keyboard and a single monitor. More so than any other application I've seen. You don't need the touchpad at all. Swapping from insert mode, normal, visual, select etc.
VIM has much stronger capabilities when it comes to editing code / text. It takes very few keystrokes to do common types of text manipulation. With my macbook I always misclick things fairly frequently because I'm not used to a touchpad.
Emacs I don't know any hardcore powerusers, but from what I've seen its similar except its more reactive to inputs
Even though I don't intend on using Emacs or Vim to that level, I still think its worth learning. There's many ideas from these toolsets to implement into your own workflow.